anweihit 发表于 2020-6-23 14:05:20

SD卡热拔插问题

SD卡在设计之初,显然是支持热拔插的。

但是用arduino的SPI协议操作SD卡,没有办法实现热拔插。市场上能买到的SD卡模块基本都是SPI接口的。


现有的情况是,采用arduinod自带的SD.h这个库可以实现通过SPI协议对卡内文件的读写。
然而,如果在arduino启动之前没有插入卡,或者在arduino启动后拔出了卡再插入,都会造成SD卡无法完成初始化。


唯一的解决途径就是,插好卡后重启动arduino。
以上结论的硬件方案为:arduino nano, 16G Sandisk, MicroSD Adaptor


我觉得主要原因是:自带库的SD.begin()函数只能在setup中执行一次,无论初始化成功与否,都不能在loop循环下被再次执行。
希望arduino技术大佬指点,在不重新启动arduino系统的情况下,如何支持SD卡热拔插。
页: [1]
查看完整版本: SD卡热拔插问题