完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
使用官方提供STM32Cube_FW_F7_V1.3.0下的FatFs_uSD_RTOS例程,使用SDIO+Fatfs+ FreeRTOS,一次运行正确,但想要每隔1秒往1个文件中追加写入32字节,就会出错,报告FS_DISK_ERR,如果不运行FreeRTOSD则不会出错;此外,把sd_diskio.c中的SD_read和SD_write分别用BSP_SD_ReadBlocks_DMA和BSP_SD_WriteBlocks_DMA实现,也无法正确运行。该如何改正这些错误呢?
|
|
相关推荐
6个回答
|
|
|
我用过F4的SDIO,也是用CubeMX配置的。用polling模式的时候,遇到过SD卡写的时候卡死的情况。后来用DMA模式,就好了。
要使用SDIO的DMA功能,不能简单的直接改SD_read和SD_write里调用的那两个函数,当然这是必要的步骤。 还需要在CubeMX中配置SDIO的DMA功能,如下图:(RX和TX的配置相同) |
|
|
|
|
|
|
|
|
|
|
|
LZ来报告
前面的问题是在 STM32F746DISCO开发板和官方1.3.0例程基础上出现的,使用了FreeRTOS系统 参考了上面回答的方法后,还是不稳定,后来把SDIO相关的3个中断优先级别调高,SDIO中断设为3,DMA发送和接收的调为4,比FreeRTOS的系统用户级别高,这才解决问题。 谢谢上面热心网友解答! |
|
|
|
|
|
愿意分享,赞一个!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2810 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2420 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2288 浏览 0 评论
2404 浏览 1 评论
1643 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 19:27 , Processed in 0.716220 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2054