Linkit ONE开发板实验05-SD卡存储GPS数据
来源:互联网 发布:值乎app 编辑:程序博客网 时间:2024/06/05 23:49
由于昨天休息的太晚了,导致今天浑身无力。今天就不做新的实验了,只是对昨天的SD卡操作复习下。
下面的代码用户将GPS的原始数据存入MicroSD卡中的gpsdata.txt文件中。
#include <LGPS.h>#include <LStorage.h>#include <LSD.h>#define LED_GPIO_PIN 13void setup() { // initialize LED pin as an output. pinMode(LED_GPIO_PIN, OUTPUT); //Setup Serial Port. Serial.begin(9600); Serial.println("Linkit ONE Board"); //print with line change. gpsPowerOn(); initSd();}void ledOn() { digitalWrite(LED_GPIO_PIN, HIGH); // turn the LED on (HIGH is the voltage level)}void ledOff() { digitalWrite(LED_GPIO_PIN, LOW); // turn the LED off by making the voltage LOW}void gpsPowerOn() { LGPS.powerOn();}void gpsPowerOff() { LGPS.powerOff();}void gpsGetData() { gpsSentenceInfoStruct info; LGPS.getData(&info); //Serial.print((char*)info.GPGGA); //Serial.print((char*)info.GPGSA); //Serial.print((char*)info.GPRMC); //Serial.print((char*)info.GPVTG); //Serial.print((char*)info.GPGSV); //Serial.print((char*)info.GLGSV); //Serial.print((char*)info.BDGSV); //Serial.print((char*)info.BDGSA); //Serial.println(" "); writeBuf("gpsdata.txt", (uint8_t*)((char*)info.GPGGA), strlen((char*)info.GPGGA)); writeBuf("gpsdata.txt", (uint8_t*)((char*)info.GPGSA), strlen((char*)info.GPGSA)); writeBuf("gpsdata.txt", (uint8_t*)((char*)info.GPRMC), strlen((char*)info.GPRMC)); writeBuf("gpsdata.txt", (uint8_t*)((char*)info.GPVTG), strlen((char*)info.GPVTG)); writeBuf("gpsdata.txt", (uint8_t*)((char*)info.GPGSV), strlen((char*)info.GPGSV)); writeBuf("gpsdata.txt", (uint8_t*)((char*)info.GLGSV), strlen((char*)info.GLGSV)); writeBuf("gpsdata.txt", (uint8_t*)((char*)info.BDGSV), strlen((char*)info.BDGSV)); writeBuf("gpsdata.txt", (uint8_t*)((char*)info.BDGSA), strlen((char*)info.BDGSA));}void initSd() { LSD.begin();}boolean setupDir(char* pathStr) { if (false == LSD.exists(pathStr)) { if (false == LSD.mkdir(pathStr)) { Serial.print("Create directory "); Serial.print(pathStr); Serial.println("Failed"); return false; } return true; } return true;}int writeBuf(char* filenameStr, uint8_t* buf, size_t len) { LFile f = LSD.open(filenameStr, FILE_WRITE); if (false == f) { Serial.print("Open file "); Serial.print(filenameStr); Serial.println("Failed"); return -1; } if (true == f.isDirectory()) { Serial.print("File "); Serial.print(f.name()); Serial.println(" is Directory"); return -1; } if (0 < f.size()) { f.seek(f.size()); } int i = 0; for (i = 0; i < len; i++) { f.write((uint8_t)buf[i]); } Serial.print("File size:"); Serial.println(f.size()); f.flush(); f.close(); return len; }void loop() { gpsGetData(); delay(200); ledOn(); delay(800); ledOff();}
上面的代码比较容易看懂,在loop函数中调用gpsGetData()来获取当前的GPS位置信息。并在gpsGetData()函数中调用writeBuf()函数来讲GPS数据写入到gpsdata.txt这个文件中。
阅读全文
0 0
- Linkit ONE开发板实验05-SD卡存储GPS数据
- Linkit ONE开发板实验03-串口打印GPS数据
- Linkit ONE开发板实验04-SD卡操作
- Linkit ONE开发板实验00-开发板简介
- Linkit ONE开发板实验01-闪灯程序
- Linkit ONE开发板实验02-串口打印时间
- linkit one学习笔记-开发板简介
- STM32开发板实现Pixhawk无人机GPS跟踪
- H9200M开发板实验文档
- Android开发——通过SD卡外部存储数据
- Android 开发应用sd卡数据存储简单小案列
- SD卡存储读取数据
- android开发 SD卡存储
- Android 数据存储---外部存储(SD卡)
- 【Android 开发】:数据存储之File文件存储 [即SD卡的写入与读取]
- 【Android 开发】:数据存储之File文件存储 [即SD卡的写入与读取]
- ARM9开发板实验笔记(1)
- contiki移植开发板实验框架
- 底部快速butto
- JavaScript学习资料二
- ccf 2017-09-04 通信网络 图的遍历
- 关于获取学生最高成绩的查找
- mybatis笔记-基本认识
- Linkit ONE开发板实验05-SD卡存储GPS数据
- strcmp()比对返回值不符
- LeetCode Combination Sum II
- day31
- WPF中,定时系统重启功能的实现
- 梯度下降法
- 《深入理解java虚拟机》学习笔记3——垃圾回收算法
- day32
- 使用BottomNavigationView底部导航栏、添加数量角标提醒