关于USB驱动的回调函数问题

2019-07-14 17:17发布

开发环境MDK5.12 ,Keil RTX,MDK-Pro,STM32F407
想用USB跑MODBUS,不会写USB驱动,所以就用虚拟串口的程序修改下使用。也就是删除了虚拟串口中与串口有关的代码。使用USB接收PC数据和USB往PC发送数据。
现在的问题是这个回调函数
void USBD_CDC0_ACM_DataReceived( uint32_t len )
{
         uRxCnt += len;
}
当uRxCnt=191后就不再继续增加了。
有谁知道是怎么回事么?求助!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
杀狼000
1楼-- · 2019-07-14 22:47
在超级循环里面用USBD_CDC_ACM_ReadData函数读,然后用USBD_CDC_ACM_WriteData函数原样返回。后来发现有USBD_CDC0_ACM_DataReceived这个回调函数,就想使用这个回调函数。然后就出现这个问题了,不知道是哪里设置不对还是keil库的bug。
tiantian55
2楼-- · 2019-07-15 01:25
 精彩回答 2  元偷偷看……
kszdj113
3楼-- · 2019-07-15 05:16
感觉这个函数时通知程序已经接收到usb的数据,并且告诉你收到了多少个字节数据,实际并没有将数据转移到用户缓冲区,增加一个数据读取功能看是否会有改善

一周热门 更多>