HC32F460 怎么判断CDC USB串口已经打开
大家好,我目前开发的产品中有基于HC32F460的USB CDC 串口的使用,在测试时碰到以下问题,当USB 在电脑上虚拟出的UCB CDC串口没有打开时,MCU主动发送的数据发送不成功,发送状态USB_Tx_State 也一直清不掉,正常该状态是在发送完成中断里usbd_cdc_DataIn里清掉的,目前我考虑如果PC端CDC串口没有打开,MCU就不主动发送数据,应该能避免该问题,但是MCU不知如何判断电脑端串口有没有打开,请问下各位大佬,是否有CDC 串口打开或者正常通信标志? USB有个握手标志,看一下。 小华代理,有FAE,13538292986 检查USB设备状态,确保USB设备已经成功枚举 如果您的固件库提供了检查USB或CDC状态的函数,您可以直接使用这些函数来判断CDC USB串口是否已经打开。 检查CDC驱动是否已经初始化并准备好进行数据传输。 使用调试器和/或日志记录功能 你可以让上位机,如果打开的话,给你发个命令呗 一般来说需要有个标记的,就是上位机打开之后,会给下位机有一个指令就好了 这个不费劲吧,你是电脑端串口打开之后给你发个数据呗 其实你可以循环发一个指令,看上位机是否给你回,回了就证明打开了呗 你这个判断上位机端口是否打开?打开能下发数据吗? 上位机要是你写的话,估计可以吧,就是上位机打开之后,下发一下标记变量之类的 好像没有这方面的通讯标记吧 这种标记没用过,不过你可以手动触发的吧 其实你弄个按键也行,开完上位机之后,手动按键按一下,哈哈小华单片机核心代理,15955131314 应该是有个打开USB的回调,可以去看看 可以看一下USB的寄存器,应该有这个状态寄存器。
页:
[1]