一、背景
采用延时函数实现的LED闪烁,在延时未到过程中,CPU停留在延时函数处,无法执行其他运算,对资源是极大的浪费。这里我们尝试用另一种方法来实现LED闪烁。
	
视频地址:http://player.youku.com/player.php/sid/XMjgyNzMzOTE2NA==/v.swf
 
二、硬件
D9引脚接一个4.7K电阻再接一个LED到地
三、程序
	
const int ledPin =  9;      // LED引脚编号
int ledState = LOW;             //用来指示LED状态的变量
unsigned long previousMillis = 0;        //保留上一次读取时间
const long interval = 1000;           //灯闪烁间隔,单位ms
void setup() {
 // 设定LED引脚为输出脚
 pinMode(ledPin, OUTPUT);
}
void loop() {
 unsigned long currentMillis = millis();//读取当前时间
 if (currentMillis - previousMillis >= interval) {
 //保存本次时间
 previousMillis = currentMillis;
 //对灯的状态进行翻转
 if (ledState == LOW) {
 ledState = HIGH;
 } else {
 ledState = LOW;
 }
 //设定灯的状态
 digitalWrite(ledPin, ledState);
 }
} 
四、函数
1.millis()自本次板子运行多少ms数,50天清零一次。

 
					
				
 
			
			
			
						
			 我要赚赏金
 我要赚赏金 STM32
STM32 MCU
MCU 通讯及无线技术
通讯及无线技术 物联网技术
物联网技术 电子DIY
电子DIY 板卡试用
板卡试用 基础知识
基础知识 软件与操作系统
软件与操作系统 我爱生活
我爱生活 小e食堂
小e食堂

