STM32F105 VCOM和UART串口冲突

发布于 2021-02-01 15:53:21    浏览:348

今天花时间在STM32F105上面移植了USB VCOM程序,采用CDC方式将USB作为虚拟串口了PC通讯,

系统起来后,PC上可以枚举成功,而且能通过串口工具看到开发板发过来的数据,
但是,如果此时在finsh的终端(采用UART1)输入任意字符,都会导致USB虚拟串口被断开,然后会重新经历一个枚举过程被PC捕获和识别。

毫无疑问在应用中这样会导致通讯的问题,但目前没有什么好的debug的思路,
所以想上来问一下,看看是否有小伙伴碰到过同样问题,

看上去是中断程序冲突,但目前没好办法来排除,请大家帮帮忙,谢谢!

查看更多

5 个回答
张世争
张世争 2021-02-01
This guy hasn't written anything yet

只是重新枚举而不是系统重启?

knight_hu
knight_hu 2021-02-01
This guy hasn't written anything yet

是的,系统没有问题,并没有发生重启,其他任务都是在继续运行

kuailedeluojie
kuailedeluojie 2021-02-02
This guy hasn't written anything yet

你好,可以把finsh的终端直接用这个虚拟串口吗?

james_s
james_s 2021-04-15
This guy hasn't written anything yet

cdc用的是usb, 和uart在板子上肯定是不同的板载外设, 如果pin multiplex配置正确, 会不会是硬件问题, 如果usb线缆屏蔽不好, 又离uart比较近, 可能会产生电磁干扰问题

mii
mii 2021-04-15
This guy hasn't written anything yet

这个问题我遇到过,裸机时我就知道问题在那里了。105使用USB要占用一个引脚做vbus检测才能正常使用。对于STM32F105/107来说,Vbus管脚和UART1的TXD复用,导致我们在使用UART1发送数据时候,USB重启的问题。

撰写答案

请登录后再发布答案,点击登录
关注者
0
被浏览
348

发布
问题

分享
好友

手机
浏览

扫码手机浏览