最近想用GD32F103C8代替STM32F103C8,在调试USB转口的时候,发现USB一直在复位。
现象如下:
1、USB转串口代码,在STM32F103C8上是好用的,下载到GD32F103C8上,不能用;
2、根据论坛GD32与STM32的对比文档,删除与ESOF相关代码,重新编译,下载到STM32F103C8的板子上,好用,但下载到GD32F103C8的板子,还是不能用;
3、在代码添加调试信息,跟踪USB中断的执行情况,发现:
1> STM32F103C8,代码是执行了25次挂起之后,再执行1次复位,读了一次设备描述符,再复位了1次,设置地址、读设备描述符,过程正常;
2> GD32F103C8, 代码只执行了一次挂起,然后就是复位与读设备描述符之间循环,执行4次循环,然后就是挂起。
从现象来看,感觉就是单片机USB发送的数据,电脑没有接收到。
不知道各位同仁,是否碰到相同的问题?
请GD公司的技术人员,帮忙查一下原因。 |