F4 USB使用中遇到的问题
固件库: STM32_USB-Host-Device_Lib_V2.1.0
硬件构成:
F4的 USB Device 虚拟串口与PC机相连;
F4的 USB Host 访问U盘;
SPI2 读取外部数据,中断触发,DMA方式读入;
工作模式:
每秒3000次外部触发SPI,每次触发SPI做2次 DMA读取,每次读32字节。
使用了外部引脚中断和SPI DMA Rx 中断。
与此同时 读取的数据在缓冲区满的时候,写入到U盘中,每秒有3-4次写盘动作。
问题:
工作时SPI传输数据有错位现象,出错帧约有0.1-0.05%. 如果关闭U盘写入操作,无上述出错现象。
工作时中断有些频繁,外部引脚中断3000次和SPI DMA Rx 中断6000次。
处理:
使用非DMA模式接收数据证明,数据不是发送方面的问题;
可能原因:
1. 我的代码有问题
2. 固件库有问题;
3. F405 有设计缺陷;
针对我的程序将频繁中断方式改为主程序中的查询状态机方式,此现象依然存在。
|