关于【STM32F429】 U盘读写和LCD控制器的问题
前段时间买了块阿波罗的开发板STM32F429,在测试底层驱动,前天发现一个问题,目前还没有找到解决办法;1、使用的是开发板的U盘(host)实验的例子,增加了在U盘加载后,不停的读、写、比较文件的准确性,我是使用芯片
自带的LCD控制器,使用RGB显示屏。
2、发现在测试过程中,会有USB读写错误,返回USBH_MSC_PHASE_ERROR,这个是USB的一个硬件错误,寄存器描述如下:
Bit 7 TXERR: Transaction error
Indicates one of the following errors occurred on the USB.
CRC check failure
Timeout
Bit stuff error
False EOP。
但是我只要将LTDC中的LTDCEN位去掉,即关闭LTDC控制使能,无论再怎么测试一个晚上,也不会发生读写错误的问题。
而且我关闭是仅仅是使能,LTDC的背光没有关闭,所以不是电源问题引起的USB读写故障
3、我在使用33MHZ的LTDC刷新频率的时候,很快就会出现错误,我降低刷新频率至12.75MHZ,依然会出现错误,但是这个正常运行的时间明显比33MHZ的要长,按理跟硬件走线应该不太会有多大关系,频率都还是比较低的,USB使用的也是FS模式,而且两边走线应该都是相互分离的
4、这里申请的内存都是使用了内部sram的20K空间,来进行数据读写比较,当然外部也试过,问题一样,不知道是不是芯片内部总线的问题。
5、代码是正点原子开发板的测试代码,不管是寄存器版本和HAL版本都是一样的问题
6、不知道有没有其他人遇到类似问题,或者已经解决了这个问题的,大家相互讨论。
上传附件,以供大家一起测试。测试文件只需在U盘下面放置大于20K的,名称为HP.bin的文件
不知是否采用了中断方式,以前在实验其他类型的MCU时出现过。在读写时,关中断,完成后开中断。如果没有采用中断方式,没有这种板子没有做过类似的实验,不知道。谢谢 坐等大神 没有做过类似项目。
会不会是中断优先级导致的呢?
还有,不断地读写U盘,有可能会导致U盘损坏的。
页:
[1]