jianhong_wu 发表于 2017-7-9 10:04:17

sd卡,能检测到,但是不能传输数据,也不能格式化卡,是什么问题?已解答。

穆武-深圳:
大家好,问个问题,sd卡,能检测到,但是不能传输数据,也不能格式化卡,是什么问题?


坚鸿-深圳:
(1)SD卡的检测是物理检测的,说白了就是检测某个机械开关是否接地来判断单片机某个IO是否高低电平来决定,所以“能检测到”不能说明什么问题。但是不能格式化,就有可能是两个原因,一个是看看SD卡侧面的开关是否拨到了“锁定(Lock)”的位置,如果是就要拨离到解开的状态。另一个原因可能是设备本身内部SD驱动程序的问题。我在单片机项目中,一般是会在用户想操作SD卡时,先提前试建file:///C:\Users\ADMINI~1\AppData\LocalLow\Baidu\BAIDUP~1\dict\Default\FBE958~1.PNG一个文件,看看是否能成功,然后就知道兼不兼容该SD卡,如果不兼容就直接弹出提示界面“不兼容该SD卡”,如果能成功创建,再把这个用来测试创建的文件悄悄删掉以便不影响客户的使用。
(2)SD卡界很乱,主流大概有4种SD卡,不同厂家,不同容量,不同速度的SD卡又存在一些差异。这些卡往往用在电脑端没问题,但是用在单片机的项目上,之所兼容性那么差,是因为有两个原因,一个原因是单片机本身自身可能不支持某类SD卡,还有一个原因是单片机的SD卡原厂提供的驱动库不够完美,所以有很多公司为了兼容更多的SD卡,是自己重新优化一下SD卡驱动库。我上个月买了一个抽屉几十张不同厂家不同容量的SD卡在单片机项目上测试,经过测试,发现某些特定品牌厂家(不点名了)的SD卡对单片机的兼容性最差。容量方面,建议大家用128M或4G的卡,尽量不要用2G卡。

页: [1]
查看完整版本: sd卡,能检测到,但是不能传输数据,也不能格式化卡,是什么问题?已解答。