STM32 读写SD卡求助
向SD卡的写入时候需要每100ms写入一下,采用的fatfs文件系统,现在写入一段时间之后总会进入cmdresp1()中的SDIO->STA为 0x00000800即CMDACT 循环中,导致系统其他功能无法继续完成。求大神指导,传输时钟使用的4M,一位模式,四位模式都会出现这种情况 100ms间隔写的数据量多大? gxliu08 发表于 2014-6-5 21:20
100ms间隔写的数据量多大?
512字节 用的是16g class10的卡…好几张不同牌子的都试过…都有这个问题 本帖最后由 gxliu08 于 2014-6-6 09:42 编辑
512字节的数据量不会造成问题,STM32的SDIO没问题的,可以读写SHDC,用4位总线24MHZ工作在DMA模式都可以。要注意初始化,在配置的时候, 一开始的时候,需要有至少发74个时钟使SD卡初始化(满足2.0规范)。其次必须加入流控,避免出现数据出错。SD卡自己处理命令需要延时,在你的代码里最好加适当延时。STM32通过SDIO操作SD卡是可以的,这点不用担心。 我试过了…好像是流控没开的问题…而且有些函数需要自己加点延时…感谢您的帮助
页:
[1]