使用情景简介

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)){
// ...
}


单片机 hardware

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!