Arduino的时间库

本文介绍了一种在没有可用I2C总线的情况下为IMU数据添加时间戳的方法。通过结合串口输入的外部时间和Arduino内部时钟实现精确计时,并提供了一个实用的时间库资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在做行为识别的课题,需要做一些IMU的设备,很久不做单片机这些东西了,捡起来有点小痛苦啊。
遇到一个问题就是需要在数据前打时间戳,但是I2C总线已经被其他数据占了,无法使用外部RTC设备,最后想只能用串口的外部时间加内部的时钟还进行计时了。

在github上找到了一个arduino的时间库,用起来不错,在这里
可支持从串口输入、外部RTC电路、网络、GPS等方式进行时间校准。

Tips

一些使用的注意事项:
1. 库中的time_t t是从1970年1月1号零点到现在的秒数,但注意这个得到的是基于格林尼治时间,即GMT+0,如果要在中国的话就要在小时后+8了,同时要注意24小时的取模问题。
2. t在linux上可以用命令date +T%s来获得,前面的T是库里定义的起始符。
3. 在安卓系统里,可以用System.CurrentTimeMillis()来获得,long类型。
4. IOS代码:

NSTimeInterval time=[[NSDate date] timeIntervalSince1970]*1000;  
double i=time;      //NSTimeInterval返回的是double类型  
NSLog(@"1970timeInterval:%f",i);  
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值