USB接收数据中遇到的问题
在使用STM32开发USB虚拟串口时,发送数据函数
uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len),非常好用,直接调用即可。
但是接收数据函数static int8_t CDC_Receive_FS (uint8_t* Buf, uint32_t *Len)的应用非常麻烦,首先此函数为static函数,不能被调用。一般都会对USB接收到的数据进行判断,但是如果不能用变量保存接受到的数据,就没有办法判断。
解决办法与步骤:
1.在主程序开头定义全局变量
2.在CDC_Receive_FS函数中使用memcpy,将接收寄存器中数据复制到定义的全局变量中
然后就可以在主程序中调用定义的全局变量来观察接受到的结果了。