- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
arduino学习笔记18SD卡读写实验
本次实验使用arduino驱动SD卡,在SD卡中进行文件读写。需要说明的是arduino的SD库文件,目前对2G以上的卡支持不是很好,所以推荐大家使用2G包含2G以下的,文件格式使用FAT格式。这次我是用的是kingmax2G的MicroSD卡。?先看一下硬件连接图??把下面代码下载进arduino控制板
/*
此例子展示如果记录三个模拟引脚数值到SD卡,使用SD库。
??? ? ? ??
电路部分
* 模拟引脚使用模拟口0,1,2大家可以根据情况接入模拟传感器,
? ?如果没有,也可以完成此实验,只不过数值是不停跳动的干扰源。
* SD卡与arduino控制板使用SPI总线连接
** MOSI - pin 11
** MISO - pin 12
** CLK - pin 13
** CS - pin 4
*/
#include SD.h
// CS引脚为pin4,这里也沿用官方默认设置
const int chipSelect = 4;??//设定CS接口
void setup()
{
??Serial.begin(9600);??//设置串口通信波特率为9600
??Serial.print(Initializing SD card...);??//串口输出数据Initializing SD card...
??pinMode(10, OUTPUT);
??
??
??if (!SD.begin(chipSelect)) {??//如果从CS口与SD卡通信失败,串口输出信息Card failed, or not present
? ? Serial.println(Card failed, or not present);
? ? return;
??}
??Serial.println(card initialized.);??//与SD卡通信成功,串口输出信息card initialized.
}
void loop()
{
??// 定义数组
??String dataString = ;
??// 读取三个传感器值,写入数组
??for (int analogPin = 0; analogPin 3; analogPin++) {
? ? int sensor = analogRead(analogPin);
? ? dataString += String(sensor);
? ? if (analogPin 2) {
? ?? ?dataString += ,;?
? ? }
??}
??// 打开文件,注意在同一时间只能有一个文件被打开
??// 如果你要打开另一个文件,就需要先关闭前一个
??File dataFile = SD.open(datalog.txt, FILE_WRITE);??
??// 打开datalog.txt文件,读写状态,位置在文件末尾。
??if (dataFile) {
? ? dataFile.println(dataString);
? ? dataFile.close();
? ? // 数组dataString输出到串口
? ? Serial.println(dataString);
??}??
??// 如果无法打开文件,串口输出错误信息error opening datalog.txt
??else {
? ? Serial.println(error opening datalog.txt);
??}?
}
复制代码
下载完成后,打开串口监视器。?控制板开始工作后会看到如下画面,图中每一行上就是每次记录的三个传感器数值,本次实验并没有接传感器,所以数值是周围干扰源的杂乱信号。?关闭arduino电源后把SD卡取出,接入电脑后,可以看到SD卡中有一个DATALOG.TXT文件,打开后有可以看到,此文件中的信息就是记录下的各个传感器的数值。?第一个代码实验完以后,SD卡中的DATALOG.TXT不要删除,把下面代码下载进arduino中,打开串口监视器,看看效果。
/*
这个例子展示如何通过SD库从SD卡中读取一个文件,并且把数据通过串口发送。
* SD卡与arduino控制板使用SPI总线连接
** MOSI - pin 11
** MISO - pin 12
** CLK - pin 13
** CS - pin 4
*/
#include SD.h
// CS引脚为pin4,这里也沿用官方默认设置
const int chipSelect = 4;??//设定CS接口
void setup()
{
??Serial.begin(9600);??//设置串口通信波特率为9600
??Serial.print(Ini
文档评论(0)