目的:利用四色板体验下mbed rtos
思路:创建两个线程,线程1每秒钟对LED1进行翻转,线程2通过按键模拟软开关控制LED4的亮和灭。
源码:
#include "mbed.h"
#include "rtos.h"
DigitalOut led1(PTB7);
DigitalOut led4(PTB4);
InterruptIn sw2(PTB21);
Thread *thread2;
void sw2_press(void)
{
thread2->signal_set(0x1);
}
void led_thread(void const *argument)
{
while (true)
{
led1 = !led1;
Thread::wait(1000);
}
}
void button_thread(void const *argument)
{
while (true)
{
Thread::signal_wait(0x1);
led4 = !led4;
}
}
int main()
{
Thread thread(led_thread);
thread2 = new Thread(button_thread);
sw2.fall(&sw2_press);
while (true)
{
}
}
运行效果图:
|