完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目前使用USB CDC 遇到无法使用中断传输的问题, 想请大家解惑 MCU : STM32F439 使用STM32Cube MX 产生code USB Full Speed - USB CDC device CDC 端点有三个 - Bulk IN - Bulk OUT - Interrupt IN Bulk IN/OUT 测试皆正常, 但无法读取到Interrupt IN 资料 [MCU] 在main whil loop中每隔一秒传送1 byte 资料 (1 ) [Bulk] USBD_LL_Transmit( hUsbDeviceFS,CDC_IN_EP , data, 1) (2) [Interrupt] USBD_LL_Transmit( hUsbDeviceFS,CDC_CMD_EP, data, 1) (1) OK (2) FAIL [测试方式] PC端使用Bus hound 传送,接收 Bus Hound监测 USB 资料 可读到来自 MCU Bulk IN 的data 但Interrupt IN的资料完全无法收到 请问各位老司机 有人遇过类似的问题吗? CDC 是否可以使用 interrupt transfer 的端点 传输资料呢? |
|
相关推荐
1个回答
|
|
USB CDC中断传输无法使用的原因可能有以下几种:
1. 中断传输未正确配置:中断传输需要正确配置中断相关的寄存器和中断服务函数,确保中断传输的初始化和处理正常。 2. 中断传输超时:中断传输需要在一定时间内完成数据传输和确认,如果超时时间设置过短或者数据量过大,可能导致无法正常传输。 3. 端点号设置错误:在使用中断传输时,需要正确设置CDC的中断传输的端点号,确保FIFO和相关传输参数配置正确。 4. 缓冲区溢出:如果数据发送过快或者接收处理不及时,可能会导致中断传输的缓冲区溢出,从而无法继续接收或者发送数据。 针对你的具体问题,你可以按照以下步骤进行排查: 1. 确认中断配置是否正确,并检查中断服务函数的实现是否正确。 2. 检查中断传输的超时时间设置。 3. 确认中断传输的端点号是否设置正确,并检查FIFO和传输参数配置。 4. 检查缓冲区是否溢出,可以增加缓冲区大小或者减小数据传输速度来排除此问题。 另外,你可以检查USB CDC的文档、MCU手册以及STM32Cube MX的配置是否正确,并查看是否有其他错误导致中断传输无法正常工作。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1934 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1710 浏览 1 评论
1187 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
785 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1752 浏览 2 评论
1992浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
827浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
281浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
638浏览 3评论
645浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-3 13:11 , Processed in 0.563810 second(s), Total 42, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号