找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3172|回复: 0
收起左侧

创客集结号分享基于mills()函数的无阻塞程序

[复制链接]
ID:370757 发表于 2018-8-3 13:52 | 显示全部楼层 |阅读模式
在arduino 编程中经常需要使用delay()使功能延时一定时间再执行,但是使用delay()后单片机整个都在停顿中,干扰了其他动作。这时候创客集结号推荐使用millis()来实现定时或者延时的效果。
unsigned long millis(void);
系统运行时间函数,记录了单片机开机运行时间。可以使用一个变量来记录当前时间点,然后判断系统运行时间与记录的时间点的差来实现延时的效果。
例如:
unsigned long oldtime=0;

void setup(){
        Serial.begin(9600);
}

void loop()
{
        if(millis() - oldtime >1000){
                oldtime=millis();//更新时间点
            Serial.println("hello world!");
        }
}

这样就能通过millis()函数时间无阻塞运行程序了。若想学习更多arduino知识和教程,可搜索创客集结号或xk100com。


回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表