21ic问答首页 - AT32F413 USB虚拟串口 工作不稳定
AT32F413 USB虚拟串口 工作不稳定
lcj13012022-07-01
本帖最后由 lcj1301 于 2022-7-5 15:56 编辑
原来stm32 用cubemx生成的代码 移植到at32f413上,usb虚拟串口在72m下工作正常,频率变成192M以后 ,所有分频都已经按照AT32的寄存器重新修改 usb只能工作几十秒就没有数据了,这是什么原因 有人知道吗?还有个问题 想要内部48M直接给usb时钟,但是acc也开了,依然枚举不出设备,不知道还有什么问题
原来stm32 用cubemx生成的代码 移植到at32f413上,usb虚拟串口在72m下工作正常,频率变成192M以后 ,所有分频都已经按照AT32的寄存器重新修改 usb只能工作几十秒就没有数据了,这是什么原因 有人知道吗?还有个问题 想要内部48M直接给usb时钟,但是acc也开了,依然枚举不出设备,不知道还有什么问题
赞0
评论
2022-07-28
赞0
评论
2022-07-23
赞0
移植好 AT32F425 USB dev了,验证代码 USBdev库 运行稳定。 上位机用的QT开发libusb dll
评论
2022-07-23
赞0
评论
2022-07-23
赞0
虚拟串口也好 其他也罢,用户自己应用程序需要做好数据交互,否则容易卡住得。数据缓冲,我喜欢开数组来接收USB Host发出的包,然后主循环查询包个数非0 去处理,毕竟USB FS 一次最大接收字节只有64个,如果上位机一次发超过64个,你下位机软件必须要做叠包处理,USB dev会连续接收到叠包,你还要拼包。 所以一定要定义一个私有协议,第一个包内 包含 这次传输的性质 到底是64字节内 还是超过64字节~ 你先把主频降低下来,跟STM32那个一样先吧。 大部分项目都没必要跑满MCU主频,容易力竭而亡~
评论
2022-07-23
谢谢你的回复,我现在只是发送数据给PC,PC上是野火串口PID软件,可以通过接收mcu的数据实时查看PID曲线,只是在调试时候使用的,72M下发送数据可以正常显示,192M下数据发送几秒或者10几秒就没了,端口就死了,我现在是这个情况
赞0
评论
2022-07-17
赞0
评论
2022-07-09
赞0
评论
2022-07-09
赞0
评论
2022-07-09
您需要登录后才可以回复 登录 | 注册