完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
单独测试CDC、MSC功能均正常,实现MSC+CDC复合设备后,均可正常识别到,但CDC_Transmit_FS函数不正常,现象如下:
1、在主循环里调用CDC_Transmit_FS,串口调试助手接收不到数据。(多次尝试打开、关闭串口,打开起始会收到一些数据) 2、在接收中断中,调用CDC_Transmit_FS将收到的数据,发回给上位机正常 3、在接收中断中,设置接收数据标志,主循环中发送也正常 总结:CDC先收到数据,再发送可以;如果只是CDC_Transmit_FS发送数据 不行 |
|
相关推荐
1个回答
|
|
可能的原因和解决方案如下:
1. 发送数据长度问题:检查发送的数据长度是否正确,确保发送的数据长度与接收方期望的数据长度一致。可以使用调试工具检查发送的数据长度。 2. 发送数据频率问题:如果发送数据的频率过高,可能会导致发送不正常。可以在发送数据之间添加适当的延迟,以确保数据发送的稳定性。 3. 中断冲突问题:检查是否存在中断冲突的情况。如果在接收中断中调用CDC_Transmit_FS函数,可能会与发送中断发生冲突,导致发送失败。可以尝试使用标志位来控制发送的时机,避免中断冲突。 4. 缓冲区溢出问题:检查发送缓冲区是否有足够的空间来存储要发送的数据。如果发送缓冲区已经满了,CDC_Transmit_FS函数可能会阻塞,导致发送失败。可以在发送之前检查缓冲区的剩余空间,并根据需要等待发送缓冲区中有足够的空间。 5. USB传输速度问题:某些USB设备只支持低速传输,如果数据量较大,可能会导致发送失败。可以尝试减少发送的数据量,或者使用更高速的USB设备。 总之,需要逐一排查可能导致发送失败的原因,并根据具体情况进行相应的调试和解决。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1115 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1140 浏览 1 评论
572 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
428 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1026 浏览 2 评论
1612浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
280浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
290浏览 3评论
273浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
250浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-20 05:17 , Processed in 0.679849 second(s), Total 47, Slave 41 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号