完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目前我在整调试USB的同步传输,先使用官方提供的UAC(音频传输)那个例子,
在官方例程中修改同步传输的程序(在中断中修改),数据能够顺利收发一切正常,速度8k/s。为了提高速度,增大了接收FIFO的空间 HAL_PCD_SetRxFiFo( hpcd_USB_OTG_FS, 0x300); // 此处原为 HAL_PCD_SetRxFiFo( hpcd_USB_OTG_FS, 0x80); 在保证其他设置都没变的情况下,一旦修改这个地方,就会出现:一旦接收88(我每次发送的字节数)* 12(一共能收发的次数) 字节后,就不在进入USB 的中断,但是从寄存器上看,能明确的看出,device仍然能接到数据 (FS_DSTS 这个记录SOF 的寄存器的值在不断变化) 从此不在进入void OTG_FS_IRQHandler(void) 这个中断,不知道有哪位高手碰到过这个问题。可以赐教下 |
|
相关推荐
1个回答
|
|
STM32F4 USB同步传输中断异常的原因可能有很多,以下是一些可能的原因和解决方案:
1. FIFO配置问题:增大接收FIFO空间后,可能导致数据溢出或者数据丢失。请确保FIFO配置正确,并且与您的USB设备兼容。 解决方案:检查FIFO配置,确保其大小和位置符合USB设备的要求。 2. 数据接收和发送缓冲区问题:如果接收或发送缓冲区的大小不足以处理增加的数据量,可能导致中断异常。 解决方案:增加接收和发送缓冲区的大小,以适应更高的数据传输速度。 3. 中断服务例程(ISR)处理问题:在修改同步传输程序时,可能引入了错误或者不完整的中断处理逻辑。 解决方案:仔细检查ISR中的代码,确保所有相关的中断处理逻辑都已正确实现。 4. USB设备驱动问题:如果USB设备驱动无法正确处理增加的数据传输速度,可能导致中断异常。 解决方案:检查USB设备驱动,确保其能够正确处理高速数据传输。 5. 时钟和电源管理问题:增加数据传输速度可能会对时钟和电源管理产生影响,导致中断异常。 解决方案:检查时钟和电源管理设置,确保它们能够支持更高的数据传输速度。 6. 硬件问题:如果STM32F4硬件存在问题,可能导致中断异常。 解决方案:检查STM32F4硬件,确保其正常工作。 7. 软件问题:在修改同步传输程序时,可能引入了软件错误,导致中断异常。 解决方案:仔细检查修改后的同步传输程序,确保没有引入任何错误。 8. 寄存器配置问题:修改FIFO配置后,可能需要相应地调整其他寄存器的设置。 解决方案:检查相关寄存器的配置,确保它们与新的FIFO配置兼容。 总之,要解决STM32F4 USB同步传输中断异常的问题,需要从多个方面进行排查和调试。建议逐步检查和修改上述可能的原因,直到找到问题的根本所在并解决。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1649 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1566 浏览 1 评论
994 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
694 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1613 浏览 2 评论
1872浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
657浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
527浏览 3评论
544浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
516浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 04:55 , Processed in 0.663418 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号