2619|8

2721

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

基于SensorTile的数据存储系统设计-软件篇2 [复制链接]

 
本帖最后由 suoma 于 2017-4-3 15:30 编辑

接上一篇帖子
基于SensorTile的数据存储系统设计-软件篇1 - 意法半导体AMG SensorTile开发大赛 - 电子工程世界-论坛 https://bbs.eeworld.com.cn/thread-526275-1-1.html

SensorTile的数据存储系统功能如下:
1、SD数据存储,支持TTL、485通信
2、数据存储前的时间戳添加,方便后期查看
3、时钟可调+液晶显示
4、支持不同通信协议(波特率、数据位、校验位等可变)


时钟设置部分液晶显示函数定义如下
  1. void Pritime()
  2. {
  3.         Time t = rtc.time();
  4.         
  5.         lcd.setCursor(0,0);  //显示年
  6.         print2digits(t.yr);
  7.         lcd.print('-');
  8.         
  9.         lcd.setCursor(5,0);        //显示月
  10.         print2digits(t.mon);
  11.         lcd.print('-');
  12.         
  13.         lcd.setCursor(8,0);        //显示日
  14.         print2digits(t.date);
  15.         
  16.         lcd.setCursor(11,0);        //显示时
  17.         print2digits(t.hr);
  18.         lcd.print(':');
  19.         
  20.         lcd.setCursor(14,0);        //显示分
  21.         print2digits(t.min);
  22. }
复制代码


按键监测函数定义
  1. unsigned long LastP;
  2. boolean buttonPress(byte button)
  3. {
  4.   if(digitalRead(button)==HIGH) // 检测按键是否按下
  5.     {
  6.     unsigned long NowP = millis();
  7.     unsigned long buttonChange=NowP-LastP;  // 与上次按键按下的时间进行对比
  8.     if (buttonChange>500)  //按键间隔是否大于500ms
  9.       {
  10.       LastP = millis();  // 记录按键按下的时间
  11.       return true;
  12.       }
  13.       else
  14.       {
  15.       return false;
  16.       }
  17.     }
  18.     else
  19.     {
  20.     return false;
  21.     }
  22. }
复制代码

接下是对按键位判断,进行时间设置,时间设置函数定义
  1. void SetTime()
  2. {
  3.   int syear, smonth, sdate, shour, sminute, sdow;
  4.   if(buttonPress(Set))
  5.     {
  6.     lcd.clear();
  7.     delay(200);
  8. rtc.time(syear, smonth, sdate,shour, sminute);
  9.     bool SetY=true;
  10. /* ~~~~~~~~~~~~~~~~~~~~~~ 进入年份设置状态 ~~~~~~~~~~~~~~~~~~~~~~~ */
  11.   while(SetY)
  12.     {
  13.     unsigned long Rt=millis()%1000;
  14.     if(Rt<500)  // 每500ms闪烁1次
  15.       {
  16.       PritimeSet(syear, smonth, sdate,shour, sminute);
  17.       }
  18.       else
  19.       {
  20.       lcd.setCursor(0,0);
  21.       lcd.print("    ");
  22.       }

  23. /* ~~~~~~~~~~~~~~~~~~~~~~~~~ 设置年份 ~~~~~~~~~~~~~~~~~~~~~~~~~~ */
  24.       if(buttonPress(Adj))
  25.         {
  26.         syear=syear+1;
  27.         }
复制代码

后面月日、时分设置与此类同,程序过长,不再描述
数据存储部分
文件操作
  1. File dataFile = SD.open("datalog.txt", FILE_WRITE);
  2.   if (dataFile) {
  3.     dataFile.println(serial.read(),HEX);//读取串口数据并写入
  4.     dataFile.close();
  5.   }
复制代码

最新回复

nmg
当时你使用的是什么浏览器?  详情 回复 发表于 2017-4-5 13:35
点赞 关注
 
 

回复
举报

2721

帖子

0

TA的资源

纯净的硅(中级)

沙发
 
选择了“添加代码文字”好几遍,结果一直未出来,就用了后面的“markdown”结果就成这样了
 
 
 

回复

2721

帖子

0

TA的资源

纯净的硅(中级)

板凳
 
格式修改好了

点评

nmg
之前出现什么问题了?  详情 回复 发表于 2017-4-5 07:55
 
 
 

回复

5260

帖子

236

TA的资源

管理员

4
 

之前出现什么问题了?
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

选择“添加代码”一直未出现代码框,然后用后面的“markdown”添加代码,结果出来很乱,后面重新弄了下好了。有什么事直接论坛留言,QQ很少用  详情 回复 发表于 2017-4-5 11:53
 
 
 

回复

2721

帖子

0

TA的资源

纯净的硅(中级)

5
 
nmg 发表于 2017-4-5 07:55
之前出现什么问题了?

选择“添加代码”一直未出现代码框,然后用后面的“markdown”添加代码,结果出来很乱,后面重新弄了下好了。有什么事直接论坛留言,QQ很少用

点评

nmg
当时你使用的是什么浏览器?  详情 回复 发表于 2017-4-5 13:35
nmg
好的,我让技术看一下这个问题 你之前的提问帖如果已经解决了,可以跟楼说明下解决方法,我会打上已解决标签 如果没解决,也可跟楼继续提问,论坛这边也会帮忙找网友解决。 最后祝顺利完成作品  详情 回复 发表于 2017-4-5 13:22
 
 
 

回复

5260

帖子

236

TA的资源

管理员

6
 
suoma 发表于 2017-4-5 11:53
选择“添加代码”一直未出现代码框,然后用后面的“markdown”添加代码,结果出来很乱,后面重新弄了下好 ...

好的,我让技术看一下这个问题

你之前的提问帖如果已经解决了,可以跟楼说明下解决方法,我会打上已解决标签

如果没解决,也可跟楼继续提问,论坛这边也会帮忙找网友解决。

最后祝顺利完成作品
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

我的问题都关了吧,有些后面就明白了原因,没解决的我告诉你  详情 回复 发表于 2017-4-5 17:44
 
 
 

回复

5260

帖子

236

TA的资源

管理员

7
 
suoma 发表于 2017-4-5 11:53
选择“添加代码”一直未出现代码框,然后用后面的“markdown”添加代码,结果出来很乱,后面重新弄了下好 ...

当时你使用的是什么浏览器?
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身

点评

当时用搜狗浏览器 再反映一个问题,如下添加图片是,选择文件只能选择一个,也就是只能一个一个添加,然后统一上传,别的论坛可以一次性选择好几个图片后一起上传。虽然论坛支持图片粘贴功能,但是我这个浏览器一直  详情 回复 发表于 2017-4-5 17:43
 
 
 

回复

2721

帖子

0

TA的资源

纯净的硅(中级)

8
 
nmg 发表于 2017-4-5 13:35
当时你使用的是什么浏览器?

当时用搜狗浏览器
再反映一个问题,如下添加图片是,选择文件只能选择一个,也就是只能一个一个添加,然后统一上传,别的论坛可以一次性选择好几个图片后一起上传。虽然论坛支持图片粘贴功能,但是我这个浏览器一直没使用成功,现在是opera浏览器



 
 
 

回复

2721

帖子

0

TA的资源

纯净的硅(中级)

9
 
nmg 发表于 2017-4-5 13:22
好的,我让技术看一下这个问题

你之前的提问帖如果已经解决了,可以跟楼说明下解决方法,我会打上已解 ...

我的问题都关了吧,有些后面就明白了原因,没解决的我告诉你
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表