【Makeblock使用】SD信息读取
最近mega pi不在身边,用uno代替,后面会讲一下接线程序使用arduino库中的SD文件夹中的cardinfo例程,主要实现SD信息读取,卡内文件获取。SD使用市面常见的小模块,自带电平转换电路,芯片AMS1117,如果是51单片机控制SD,必须加如下电平转换电路
实物连接
下载程序,串口输出如下,
如果是mega pi,接线如下
mega2560芯片
CS/PCINT0 53 數字I/O
SCK/PCINT1 52 數字I/O
MOSI/PCINT2 51 數字I/O
MISO/PCINT3 50 數字I/O
下面讲一下程序
程序流程:
初始化--打开串口-判断串口是否有数据-有数据则判断SD是否存在-判断SD卡类型-判断SD文件系统-输出SD容量-判断是否有文件,有则输出文件列表
关于CS引脚,如果是arduino ethernet或一般micro SD模块,程序默认D4,但要注意adafruit和SParkfun这两家的SD模块,需要变换,如下
// Arduino Ethernet shield: pin 4
// Adafruit SD shields and modules: pin 10
// Sparkfun SD shield: pin 8
注意,ethernet扩展板的pin4默认输出,即使不用这个脚,10脚(mega pin53)都要设置为输出,否则SD库无法使用,说明如下
// On the Ethernet Shield, CS is pin 4. It's set as an output by default.
// Note that even if it's not used as the CS pin, the hardware SS pin
// (10 on most Arduino boards, 53 on the Mega) must be left as an output
// or the SD library functions will not work.
程序中确实有这句,虽然我们没有用D10
pinMode(10, OUTPUT);
SD卡类型有SD1、SD2、SDHC,大多数SD模块支持的SD类型容量是2G以下,SDHC的容量是32G以下,
页:
[1]