完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
上周末拿到开发板,开始测试例子,到实验27 USB读卡器时,发现用4G卡测试通过,用8G卡打开时提示需要格式化,并且格式化显示的大小是4G的。
发帖暂时无人给出解决方法只好自己分析代码,终于发现问题所在。 主要问题出在 u32 SD_GetCapacity(void) //获取SD卡的容量(字节) 这个函数,当用我的8G卡时 在这个函数中我分别在每一步打印输出了Capacity的值 Capacity=((u32)csd[8])<<8; Capacity+=(u32)csd[9]+1; Capacity = (Capacity)*1024;//得到扇区数 Capacity = ECE000 Capacity*=512;//得到字节数 //由上步的Capacity 值计算出 Capacity = 4B107C000 很明显,最后Capacity的值是9位的十六进制数,而我们定义的Capacity 为u32,Capacity 的值溢出了!!! 解决办法: 去掉Capacity*=512;// main()函数中 Mass_Block_Count[0]=Mass_Memory_Size[0]/Mass_Block_Size[0]; 改为 Mass_Block_Count[0]=Mass_Memory_Size[0]; 手头没有16G卡,所以没有测试,按道理说16G卡应该也溢出,不知道原子哥的16G卡怎么测试通过的。 目前还有个问题就是8G卡在PC上检测到的速度明显比4G的要慢很多,大概用10多秒才能显示出来,不知道是我自己机器的事还是什么问题,大家可以测试下。 |
|
相关推荐
2个回答
|
|
|
|
|
|
确实啊,sd卡读取容量那个函数问题比较大啊~
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1683 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1582 浏览 1 评论
1013 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
703 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1627 浏览 2 评论
1892浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
675浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
538浏览 3评论
557浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
526浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 01:48 , Processed in 0.643625 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号