arduino学习笔记18 - SD卡读写实验.docVIP

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本次实验使用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)

***** + 关注
实名认证
文档贡献者

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档