资料
  • 资料
  • 专题
【STM32教程】STM32+FLASH+SDIO的总结
推荐星级:
时间:2019-12-24
大小:361.34KB
阅读数:143
上传用户:wsu_w_hotmail.com
查看他发布的资源
下载次数
0
所需E币
4
ebi
新用户注册即送 300 E币
更多E币赚取方法,请查看
close
资料介绍
【STM32教程】STM32+FLASH+SDIO的总结 这两天调试 stm32 单片机的 sdio 接口读写 sd 卡,把调试经验总结一下。 我首先采用的是官方例程里面得 dma 方式,直接使用官方提供的 sdcard.c 文件。首先声明一个 uint32 类型的数据缓冲区,读写 sd 卡的 每个扇区完全正常,随后添加 fatfs 的文件,然后改好接口函数,其中有一处做了强制转换,就是 fatfs 声明的缓冲区都是 uint8*类型的,而 sdcard.c 文件要求为 uint32*类型,所以我把 uint8*强制转换为 uint32*类型。编译成功后执行,结果 fatfs 的初始化函数返回“没有文件系统”, 经过多次小改动后重试,问题依然如此,后来我怀疑是我强制转换出的问题,为了验证我的想法,我做了如下程序: #include #include void main(void) { unsigned char i;//AA[] = {0,1,2,3,4,5,6,7,8,9,0,4}; unsigned char * aa; unsigned int * bb; for(i=0;i { *(aa+i) = i; } bb = (unsigned int *)aa; printf("bb is: 0X%04x \n",*bb); bb = (unsigned int *)(aa+1); printf("bb is: 0X%04x \n",*bb); while(1); } 以上程序验证结果为:在 IAR EWARM 5.40 中,强制转换不会对数据存取产生影响。 既然不是这个问题,那会是什么呢?!我只好……
版权说明:本资料由用户提供并上传,仅用于学习交流;若内容存在侵权,请进行举报,或 联系我们 删除。
PARTNER CONTENT
相关评论 (下载后评价送E币 我要评论)
没有更多评论了
  • 可能感兴趣
  • 关注本资料的网友还下载了
  • 技术白皮书