完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
开发环境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后就不再继续增加了。 有谁知道是怎么回事么?求助! |
|
相关推荐
4个回答
|
|
在超级循环里面用USBD_CDC_ACM_ReadData函数读,然后用USBD_CDC_ACM_WriteData函数原样返回。后来发现有USBD_CDC0_ACM_DataReceived这个回调函数,就想使用这个回调函数。然后就出现这个问题了,不知道是哪里设置不对还是keil库的bug。
|
|
|
|
楼主可以把工程传一下吗?USBD_CDC0_ACM_DataReceived这个查找一下,他到底是用来做什么的。
|
|
|
|
感觉这个函数时通知程序已经接收到u***的数据,并且告诉你收到了多少个字节数据,实际并没有将数据转移到用户缓冲区,增加一个数据读取功能看是否会有改善
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2105 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1941 浏览 3 评论
4537 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2084 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2599 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 07:03 , Processed in 0.450697 second(s), Total 52, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号