使用情景简介
Chrono包用于在Arduino C代码中创建一个独立于主程序(setup()与loop())的计时器, 从而实现代码块的执行不受(少受)上游代码块的影响.
比如要不停得接收电脑发送的控制信息并更新LED闪烁频率/亮度, 电脑并不一定每个闪烁循环都发送信息, 而且发送的信息长度也可能不一样, Arduino读取信息所需要的时间也不一样. 这样事实上造成了LED闪烁的周期并不是我们delay()的时间, 而是随着串口发送信息的有无与数量不断变化. 此时可以用chrono代替delay(), 起到准确定时的功能.
安装
进入Arduino Library(GNU/Linux系统常在~/Arduino/libraries), 下载解压好Chrono即可, 也可以用git.
git clone https://github.com/SofaPirate/Chrono.git
使用
#include<Chrono.h>
Chrono chrono名; // 创建chrono定时器
chrono名.start; // 开始计时
chrono名.restart; // 重新计时(清空原计时器)
chrono名.stop; // ...
chrono名.hasPassed(毫秒时间数); // 返回0或者1
// 可以用下列语句替换部分delay(time);
while(!chrono名.hasPassed(time));
// chrono名.restart;
// 或者
if(chrono名.hasPassed(time)){
// ...
}
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!