// led灯接UNO的13管脚
#include <MsTimer2.h>               //定时器库的 头文件void flash()                        //中断处理函数,改变灯的状态
{                        static boolean output = HIGH;digitalWrite(13, output);output = !output;
}void setup()
{pinMode(13, OUTPUT);MsTimer2::set(500, flash);        // 中断设置函数,每 500ms 进入一次中断MsTimer2::start();                //开始计时
}void loop()
{}

再提供一种方法,利用 mills()同样函数可以实现中断的功能。mills()函数功能是获取系统运行的时间长度,单位ms。最大为9小时22分,如果超出时间将从0开始。函数的返回值为unsigned long型。
下面程序的功能让led灯亮灭各500ms :

unsigned long ledOn=500,ledOff=500; //定义led灯变化的时间长度,每500ms变化一次
int ledStatus;                      //定义LED灯的状态,HIGH or LOWm
void setup()
{pinMode(13,OUTPUT);digitalWrite(13,HIGH);ledStatus=HIGH;
}
void loop()
{unsigned long nowtime=millis(); //获取当前的系统运行时间长度if(ledStatus==HIGH)             //如果当前lled灯状态为高电平,则执行该程序{if(nowtime>ledOn)             //检测系统运行时间长度是否到500ms{ledOn=nowtime;              //记录当前时间长度,第一次为500ms,赋值给ledOnledOff=nowtime+500;         //计算出下一次led灯变化的时刻,第一次运行程序时应该在1000ms时关灯digitalWrite(13,LOW);       //关掉led灯ledStatus=LOW;              //记录当前led灯状态,下一次使用     } }else{       if(nowtime>ledOff){   ledOff=nowtime;ledOn=nowtime+500;digitalWrite(13,HIGH);ledStatus=HIGH;}}
}

PS:使用mills()函数的好处在于占用的整个程序运行时间短,如果用用延时函数,在延时的时间内,CPU不能干别的事儿。

arduino定时器相关推荐

  1. arduino定时器函数如何使用_Arduino定时器配置(Timer0,Timer1,Timer2)

    定时器基本概念: 定时器速度(HZ) = Arduino时钟速度(16MHz) / 预分频器系数 中断频率(Hz)=(Arduino时钟速度16MHz)/(预分频器*(比较匹配寄存器+ 1) 比较匹配 ...

  2. arduino 定时器、定时中断与PWM使用以及注意事项

    其他学习资料参考 一.Arduino定时器简介 Arduino UNO有三个定时器,分别是timer0,timer1和timer2.每个定时器都有一个计数器,在计时器的每个时钟周期递增.当计数器达到存 ...

  3. Arduino 定时器中断

    Arduino 定时器中断 Circuits Arduino 查看原文 简介:Arduino 定时器中断 奥雷里(地球.月亮和太阳) 立式兰花播种机 胶合板书柜扬声器 计时器中断允许您以非常特定的时间 ...

  4. arduino定时器控制舵机_Arduino学习经验(一)之解决舵机库和pwm输出冲突

    一.前言 最近在公司学习Arduino uno ,用它实现小车超声波避障功能.实现的功能很简单,就是在小车前方挂一个超声波模块,当碰到障碍物时,会通过舵机进行摆头,判断两边的距离,进行左右转弯.但是碰 ...

  5. arduino定时器pdf_Arduino基础入门篇18—数字时钟

    Arduino不但有外部中断,还有定时器中断,不同Arduino开发板其定时器数量及性能也各不相同,这取决于开发板主控制器.Uno R3开发板有三个定时器,本篇通过使用定时器库「TimerOne」来更 ...

  6. arduino定时器pdf_魔法书4:Arduino UNO 内部定时器之谜

    我是潘,曾经是个工程师.这是为 Ardui.Co 制作的 "Arduino 魔法书" 系列的专栏.在基础教程中,已简单介绍过内部定时器的基本概念.定时器就是一个内部闹钟,定时让Ar ...

  7. arduino定时器函数如何使用_【Arduino101教程】定时器的使用

    定时器中断 外部中断是通过检测输入电平的变化,而产生中断信号.除了外部中断方式外,Genuino 101还可以按时间变化产生中断,这里即会使用到定时器(Timer),而对应产生的中断被称为定时器中断. ...

  8. arduino定时器函数如何使用_Excel表格技巧—如何使用DELTA 函数

    [导读]:在Excel里面有着不少的函数,它们的作用非常广泛,可以使用的领域也是相当的大.然而在这些函数当中,也有些是我们平常用不到的,却在某些领域离不开,DELTA 函数就是其中之一,它可以有效帮我 ...

  9. arduino定时器函数如何使用_excel如何使用函数公式来查找图片

    先看效果: 是不是有点意思啊.好,咱们看看如何实现这样的效果. 步骤一: 准备好图片资料,话说巧媳妇难做无米之炊,没有资料,如何查询?如下图所示:A列是产品名称,B列是对应的图片.注意图片的大小要在单 ...

最新文章

  1. pycharm导包错误
  2. GPS及惯性传感器在无人驾驶中的应用
  3. java 递归原理_Java中递归原理实例分析
  4. I/O数据有几种传送方式?各有什么特点?【最精炼】
  5. 谈谈.NET Core IServiceProvider
  6. 计算机系统备份的原则和策略,计算机系统数据备份机制与策略
  7. 30分钟快速搭建移动应用直传OSS服务
  8. lzw压缩 java_java实现的LZW 压缩算法源码 | 学步园
  9. BugkuCTF-Reverse题逆向入门
  10. gitlab搭建与使用
  11. 俺的房子内有空调冬暖夏凉,房间宽敞气派非凡
  12. 用c#创建支持多语言的WinForm应用程序 .
  13. 「2021年」国内主流短信验证码平台综合评测
  14. iOS-调用系统的短信和发送邮件功能,实现短信分享邮件分享
  15. 抖音多闪背后的AI和社交
  16. 摩拜app显示未能连接到服务器,摩拜单车又现大面积故障?回应称未接到反馈
  17. 理]疏通中国历史脉络——“魏(三国)、晋(五胡十六国)、南北朝”篇
  18. CTFSHOW 萌新赛 萌新记忆
  19. Excel 中统计全表所有人名各出现了多少次
  20. Pytorch学习日志之函数用法记录

热门文章

  1. Error creating bean with name 'sqlSessionFactory' defined in URL
  2. 手把手 | 事理图谱,下一代知识图谱
  3. 【入门】人见人爱A+B:时间相加
  4. MySQL DBA的必备参考,两位数据库资深专家呕心沥血之作
  5. SIKI学院:MySQL数据库从零到精通:三:课时 4 : 03-服务器端运行通信原理图+课时 5 : 04-游戏服务器端简介
  6. 智能家居和建筑行业调研报告 - 市场现状分析与发展前景预测
  7. 商场3D导航导购系统,解决商场导购和停车场寻车难题
  8. centos8安装python3.6_CentOS安装python3.6
  9. 谷歌浏览器批量下载数据,以批量下载modis数据为例
  10. Kali Win-KeX SL