【NUCLEO-L476RG开发】mbed时钟系统2
本帖最后由 党国特派员 于 2015-11-25 23:38 编辑接上次,今天学习下mbed下的时钟系统之TimeOut和Ticker,今天要用到4个LED,因为开发板上只有一个,所以需要自己再添加3个LED
mbed Timeout的应用
mbed的Timeout对象主要用来在给定的时间后执行给定的函数,如下面的测试代码,运行后你会发现NUCLEO-L476RG的四个led分别点亮,由于timeout只会被执行一次,所以点亮后会保持不变:
#include "mbed.h"
#define LED2 PA_0
#define LED3 PA_1
#define LED4 PA_4
//定义LED
DigitalOut led1(LED1);
DigitalOut led2(LED2);
DigitalOut led3(LED3);
DigitalOut led4(LED4);
//定义TIMER
Timeout timer_led1;
Timeout timer_led2;
Timeout timer_led3;
Timeout timer_led4;
void led1flip()
{
led1=!led1;
}
void led2flip()
{
led2=!led2;
}
void led3flip()
{
led3=!led3;
}
void led4flip()
{
led4=!led4;
}
int main() {
timer_led1.attach(&led1flip,0.5);
timer_led2.attach(&led2flip,0.5*2);
timer_led3.attach(&led3flip,0.5*3);
timer_led4.attach(&led4flip,0.5*4);
while (1);
}
mbed Ticker的应用
mbed的Ticker对象主要用来执行各类需要定期执行的函数,它和Timeout的唯一不同就是Timeout相关的函数只会被执行一次,而Ticker相关的则会被定期执行,如下面的测试代码,运行后你会发现xbed LPC1768的四个led将按照不同的频率变换:
#include "mbed.h"
#define LED2 PA_0
#define LED3 PA_1
#define LED4 PA_4
//定义LED
DigitalOut led1(LED1);
DigitalOut led2(LED2);
DigitalOut led3(LED3);
DigitalOut led4(LED4);
//定义TIMER
Ticker timer_led1;
Ticker timer_led2;
Ticker timer_led3;
Ticker timer_led4;
void led1flip()
{
led1=!led1;
}
void led2flip()
{
led2=!led2;
}
void led3flip()
{
led3=!led3;
}
void led4flip()
{
led4=!led4;
}
int main() {
timer_led1.attach(&led1flip,0.5);
timer_led2.attach(&led2flip,0.5*2);
timer_led3.attach(&led3flip,0.5*3);
timer_led4.attach(&led4flip,0.5*4);
while (1);
}
我们在使用Ticker对象的过程中还可以随时对Ticker设定的间隔进行更改,更改后的时间是即时生效的,如下面的代码,我们发现,用户每按一次按钮,led1的闪烁频率就会加快一倍。
#include "mbed.h"
#define LED2 PA_0
#define LED3 PA_1
#define LED4 PA_4
DigitalOut led1(LED1);
InterruptIn btn(USER_BUTTON);
Ticker timer_led1;
float interval;
void led1flip()
{
led1=!led1;
}
void changefred()
{
interval=interval /2.0;
timer_led1.attach(&led1flip,interval);
}
int main() {
interval=2;
btn.fall(&changefred);
timer_led1.attach(&led1flip,interval);
while (1);
}TimeOut应用:
Ticker应用:
mbed比arduino强大多了 很不错,感谢分享。 很不错 比较好奇gif用什么软件做的 感谢楼主,学到不少东西 谢谢分享 wu1169668869 发表于 2015-11-26 12:14
比较好奇gif用什么软件做的
photoshop 就可以完成。 顶一下 不错不错:):):)
页:
[1]
2