Arduino中读取SD卡文本文件数据
2023-12-15 19:43:01
    		1、硬件


2、代码
#include <SD.h>
#include <SPI.h>          // needed for Arduino versions later than 0018
const long _1000msTime = 1000;    // 1000 milli seconds
unsigned long _1000msLastTime;
File myFile;
int date;
int Lastdate;
String strDate;//读出的SD,每一行数据
int pinSD = 4;
int pinW5500 = 53;
/****************按行读取SD卡内的动作**************/
String ReadSdLine() {
  String myStr;
  digitalWrite(pinW5500,HIGH);
  while ((date = myFile.read()) >= 0) 
  {
    if ((date == 10) && (13 == Lastdate)) 
    {
      break;
    } 
    else 
    {
      myStr += char(date);
    }
    Lastdate = date;
  }
  return myStr;
}
void setup() 
{
    // 打开串口
    Serial.begin(9600);
    while (!Serial) 
    {
        ; //等待串口连接。仅本机USB口使用。
    }
    Serial.println("Serial is opened.");
    //SD卡初始化
    if (!SD.begin(pinSD)) {
      Serial.println("initialization failed!");
      return;
    }
    myFile = SD.open("VRtest.txt");
}
void loop()
{
  TimeProc();
}
void TimeProc()
{
  String m_strd;
  //1000ms执行一次
  if ((millis() - _1000msLastTime) >= _1000msTime)
  {
    _1000msLastTime = millis( );    
    //
    m_strd = ReadSdLine();
    if(m_strd!="")
    {
      //如果当前行不为空,表示动作文件没有到底
      strDate=m_strd;      
      //SendToMBox(strDate);/将这行字符串给解析函数
      Serial.println(strDate);
    }
    else
    {
      /动作文件到底
      Serial.println("End Play");
    }
  }
}
 
3、测试
文本数据

将读取的数据发送到串口中

    			文章来源:https://blog.csdn.net/panjinliang066333/article/details/135022433
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
    	本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!