打印
[技术问答]

HC32F460 怎么判断CDC USB串口已经打开

[复制链接]
3178|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xshun|  楼主 | 2024-2-18 17:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好,我目前开发的产品中有基于HC32F460的USB CDC 串口的使用,在测试时碰到以下问题,当USB 在电脑上虚拟出的UCB CDC串口没有打开时,MCU主动发送的数据发送不成功,发送状态USB_Tx_State[i] 也一直清不掉,正常该状态是在发送完成中断里usbd_cdc_DataIn里清掉的,目前我考虑如果PC端CDC串口没有打开,MCU就不主动发送数据,应该能避免该问题,但是MCU不知如何判断电脑端串口有没有打开,请问下各位大佬,是否有CDC 串口打开或者正常通信标志?

使用特权

评论回复
沙发
weifeng90| | 2024-2-19 07:51 | 只看该作者
USB有个握手标志,看一下。

使用特权

评论回复
板凳
小华单片机代理| | 2024-2-21 17:24 | 只看该作者
小华代理,有FAE,13538292986

使用特权

评论回复
地板
七毛钱| | 2024-2-27 10:46 | 只看该作者
检查USB设备状态,确保USB设备已经成功枚举

使用特权

评论回复
5
jcky001| | 2024-2-27 12:59 | 只看该作者
如果您的固件库提供了检查USB或CDC状态的函数,您可以直接使用这些函数来判断CDC USB串口是否已经打开。

使用特权

评论回复
6
两只袜子| | 2024-2-27 14:00 | 只看该作者
检查CDC驱动是否已经初始化并准备好进行数据传输。

使用特权

评论回复
7
cr315| | 2024-2-27 14:59 | 只看该作者
使用调试器和/或日志记录功能

使用特权

评论回复
8
ex7s4| | 2024-3-27 10:25 | 只看该作者
你可以让上位机,如果打开的话,给你发个命令呗

使用特权

评论回复
9
g0d5xs| | 2024-3-27 11:30 | 只看该作者
一般来说需要有个标记的,就是上位机打开之后,会给下位机有一个指令就好了

使用特权

评论回复
10
b5z1giu| | 2024-3-27 12:35 | 只看该作者
这个不费劲吧,你是电脑端串口打开之后给你发个数据呗

使用特权

评论回复
11
p0gon9y| | 2024-3-27 13:46 | 只看该作者
其实你可以循环发一个指令,看上位机是否给你回,回了就证明打开了呗

使用特权

评论回复
12
suw12q| | 2024-3-27 16:11 | 只看该作者
你这个判断上位机端口是否打开?打开能下发数据吗?

使用特权

评论回复
13
lamanius| | 2024-3-28 08:17 | 只看该作者
上位机要是你写的话,估计可以吧,就是上位机打开之后,下发一下标记变量之类的

使用特权

评论回复
14
kaif2n9j| | 2024-3-28 09:22 | 只看该作者
好像没有这方面的通讯标记吧

使用特权

评论回复
15
w2nme1ai7| | 2024-3-28 10:30 | 只看该作者
这种标记没用过,不过你可以手动触发的吧

使用特权

评论回复
16
lix1yr| | 2024-3-28 12:31 | 只看该作者
其实你弄个按键也行,开完上位机之后,手动按键按一下,哈哈

使用特权

评论回复
17
wxg80620025| | 2024-4-26 11:27 | 只看该作者
小华单片机核心代理,15955131314

使用特权

评论回复
18
鹿鼎计| | 2024-4-28 17:58 | 只看该作者
应该是有个打开USB的回调,可以去看看

使用特权

评论回复
19
软核硬核| | 2024-4-28 18:31 | 只看该作者
可以看一下USB的寄存器,应该有这个状态寄存器。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝