EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
开发环境: 硬件平台:正点原子阿波罗开发板,主控芯片STM32F429 (VBus没有状态检测) 软件开发平台:STM32CubeMX 6.2.1 库版本STM32Cube FW_F4 V1.26.0 编译器KEIL5.34.0.0 我使用STM32CubeMX 配置生成USB虚拟串口工程,调试过程中没有找到usb连接状态和虚拟串口打开状态在哪里查询。 网上找到的教程说找回调函数 - void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd)
# i* `8 {& g% }) K) q
! E1 \' }' { j. T' [. a/ N3 l7 I1 D - $ Y: v9 Y3 U1 r/ F# n6 |; W
5 a" S6 T: A ?2 o' p - void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd)
6 y& p% \6 b/ r/ J3 q7 C
8 m' X: o Q+ Q9 u, C* x& ?: G
9 S3 M# `& E' i
我找到这两个函数实际测试发现,在usb连接断开或者虚拟串口打开关闭时,函数没有发生调用, 部分网友提示这个函数需要启用VBUS检测才会调用这两个函数,应当查询hUsbDeviceFS.dev_state 的值, 我修改后调试发现这个值在usb连接断开或者虚拟串口打开关闭时并没有发生变化, 我百度找的的办法基本都是这两种之一,求大佬指点。 8 S% V% _- H" @9 ]4 _) c2 [. Y! I
|