欢迎来到天天文库
浏览记录
ID:57207266
大小:772.00 KB
页数:15页
时间:2020-08-06
《arduino学习笔记18---SD卡读写实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本次实验使用arduino驱动SD卡,在SD卡中进行文件读写。需要说明的是arduino的SD库文件,目前对2G以上的卡支持不是很好,所以推荐大家使用2G包含2G以下的,文件格式使用FAT格式。这次我是用的是kingmax2G的MicroSD卡。 先看一下硬件连接图 把下面代码下载进arduino控制板/*此例子展示如果记录三个模拟引脚数值到SD卡,使用SD库。 电路部分*模拟引脚使用模拟口0,1,2大家可以根据情况接入模拟传感器, 如果没有,也可以完成此实验,只不过数值是不停跳动的干扰源。*SD卡与arduino控
2、制板使用SPI总线连接**MOSI-pin11**MISO-pin12**CLK-pin13**CS-pin4*/#include//CS引脚为pin4,这里也沿用官方默认设置constintchipSelect=4; //设定CS接口voidsetup(){ Serial.begin(9600); //设置串口通信波特率为9600 Serial.print("InitializingSDcard..."); //串口输出数据InitializingSDcard... pinMode(10,OUTPUT);
3、 if(!SD.begin(chipSelect)){ //如果从CS口与SD卡通信失败,串口输出信息Cardfailed,ornotpresent Serial.println("Cardfailed,ornotpresent"); return; } Serial.println("cardinitialized."); //与SD卡通信成功,串口输出信息cardinitialized.}voidloop(){ //定义数组 StringdataString=""; //读取三个传感器值,写入数组 f
4、or(intanalogPin=0;analogPin<3;analogPin++){ intsensor=analogRead(analogPin); dataString+=String(sensor); if(analogPin<2){ dataString+=","; } } //打开文件,注意在同一时间只能有一个文件被打开 //如果你要打开另一个文件,就需要先关闭前一个 FiledataFile=SD.open("datalog.txt",FILE_WRITE); //打开datalog.tx
5、t文件,读写状态,位置在文件末尾。 if(dataFile){ dataFile.println(dataString); dataFile.close(); //数组dataString输出到串口 Serial.println(dataString); } //如果无法打开文件,串口输出错误信息erroropeningdatalog.txt else{ Serial.println("erroropeningdatalog.txt"); } }复制代码下载完成后,打开串口监视器。 控制板开始工作后会看到如下
6、画面,图中每一行上就是每次记录的三个传感器数值,本次实验并没有接传感器,所以数值是周围干扰源的杂乱信号。 关闭arduino电源后把SD卡取出,接入电脑后,可以看到SD卡中有一个DATALOG.TXT文件,打开后有可以看到,此文件中的信息就是记录下的各个传感器的数值。 第一个代码实验完以后,SD卡中的DATALOG.TXT不要删除,把下面代码下载进arduino中,打开串口监视器,看看效果。/*这个例子展示如何通过SD库从SD卡中读取一个文件,并且把数据通过串口发送。*SD卡与arduino控制板使用SPI总线连接**MOSI-pi
7、n11**MISO-pin12**CLK-pin13**CS-pin4*/#include//CS引脚为pin4,这里也沿用官方默认设置constintchipSelect=4; //设定CS接口voidsetup(){ Serial.begin(9600); //设置串口通信波特率为9600 Serial.print("InitializingSDcard..."); //串口输出数据InitializingSDcard... pinMode(10,OUTPUT); if(!SD.begin(chip
8、Select)){ //如果从CS口与SD卡通信失败,串口输出信息Cardfailed,ornotpresent Serial.println("Cardfailed,ornotpresent"); //don'tdoanyth
此文档下载收益归作者所有