开发环境:
硬件平台:正点原子阿波罗开发板,主控芯片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)
void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd)
我找到这两个函数实际测试发现,在usb连接断开或者虚拟串口打开关闭时,函数没有发生调用,
部分网友提示这个函数需要启用VBUS检测才会调用这两个函数,应当查询hUsbDeviceFS.dev_state 的值,
我修改后调试发现这个值在usb连接断开或者虚拟串口打开关闭时并没有发生变化,
我百度找的的办法基本都是这两种之一,求大佬指点。
谢谢!
-------------------------------------------------------------
我发现USB硬件连接的问题使用查询hUsbDeviceFS.dev_state 的值可以解决了,之前调试应该是打断点影响了USB库,现在的问题是怎么查询虚拟串口的打开关闭状态了。
或者应该是通过控制端点发送打开关闭命令来显式切换?