博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Arduino 串口读写 SD 卡模块
阅读量:4251 次
发布时间:2019-05-26

本文共 1873 字,大约阅读时间需要 6 分钟。

/*   Arduino 的 Nano 的引脚   MOSI----------11   MISO----------12   CLK-----------13   CS------------10*/#include 
File myFile; // 文件的句柄String filename = "mogu.txt"; // 文件名const int chipSelect = 10; // SD 卡使能引脚#define BUFF_SIZE 128 // 缓冲区大小char buff[BUFF_SIZE]; // 缓冲区数组int readsize = 0; // 实际读取的长度// 单片机初始化函数void setup() { // 设置串口 // 波特率为 38400, 8位数据位, 2位停止位, 偶校验 Serial.begin(38400, SERIAL_8E2); // 判断串口是否可用 // 如果不可用等在这里 while (!Serial) { delay(1000); } Serial.println("Initializing SD card..."); // 初始化化 sd 卡 // 如果初始化失败, 打印log, 程序返回 if (!SD.begin(chipSelect)) { Serial.println("initialization failed!"); return; } // 程序执行到这里,说明 sd 卡初始化完成 Serial.println("initialization done."); // 判断文件是否存在 if (SD.exists(filename)) { Serial.println("file exists, delete file"); // 如果文件存在, 删除文件 SD.remove(filename); } Serial.println("creat file"); // 旧文件删除, 新建文件 myFile = SD.open(filename, FILE_WRITE); // 判断文建是否创建成功 // 如果文件创建失败, 打印log, 程序返回 if (!myFile) { Serial.println("error opening file"); return; } // myFile = SD.open(filename); // if (myFile) {
// Serial.println("test.txt:"); // // // read from the file until there's nothing else in it: // while (myFile.available()) {
// Serial.write(myFile.read()); // } // // close the file: // myFile.close(); // } else {
// // if the file didn't open, print an error: // Serial.println("error opening test.txt"); // }}void loop() {}// 串口中断入口函数// 单片机接收到数据后自动调用此函数void serialEvent() { // 读取接收到的数据长度 while ((readsize = Serial.available()) > 0 ) { // 判断文件操作是否可用 // 可用才能往文件里写数据 if (myFile) { // 清空旧的缓存 memset(buff, 0, sizeof(buff)); // 将数据保存到缓冲区中 Serial.readBytes(buff, readsize); // 再将缓冲区中的数据写入sd卡中 myFile.write(buff); // 刷新 sd 卡 myFile.flush(); Serial.print(buff); } }}

转载地址:http://zakei.baihongyu.com/

你可能感兴趣的文章
[linux] c 实现简单的web服务器
查看>>
栈--判断回文字符串
查看>>
Dijkstra算法--一个点到其余点最短路径
查看>>
解决 The `master` repo requires CocoaPods 1.0.0 - (currently using 0.39.0)
查看>>
gdb调试常用命令
查看>>
vim正则表达式批量修改文本
查看>>
objective-c init方法的写法
查看>>
极客公园 Mac 第三方客户端(swift)
查看>>
【Lintcode】寻找峰值
查看>>
Arduino 串口读写 SD 卡模块
查看>>
图的基本算法--深度优先搜索(dfs) 和 广度优先搜索(bfs)
查看>>
[Linux] Linux内核编译安装过程,及Linux源码目录结构
查看>>
[Linux] c语言变量的存储位置-笔记
查看>>
[Linux] 头文件实质-笔记
查看>>
统一修改iOS中xib颜色值
查看>>
数据湖与数据仓库的新未来:阿里提出湖仓一体架构
查看>>
基于 Flink+Iceberg 构建企业级实时数据湖 | 附 PPT 下载
查看>>
Flink 源码:Checkpoint 元数据详解
查看>>
基于Flink+ClickHouse打造轻量级点击流实时数仓
查看>>
Flink sink schema 字段设计小技巧
查看>>