GD32F30X的USB cdc虚拟串口,走modbus RTU协议问题
根据官网提供的USB cdc虚拟串口例程,能够调通USB通讯,收发正常。即使发送给ARM一帧1024bytes的数据,程序也能够正常回复1024bytes。
但是这个过程其实是分为多帧进行的,因为USB一帧只能收发64个bytes,所以程序其实是将一帧长字节的数据分割为多帧进行收发的。
那么,如果想要在USB内走modbus RTU的协议,可能收到大约64bytes的数据帧,并对这个数据帧进行分析做出相应回复。
改如何修改例程?应该在USB接收中断内将收到的数据进行组合?(如果不在中断内处理,是不是来不及转存导致后面的数据被覆盖?)
有没有大神做过类似的修改?STM32的USB cdc例程与GD的差异较大,似乎借鉴意义不大
|