(二)STM32L4(RT- Thread)——独立按键
目录

学习目标
成果展示
硬件知识
代码
总结
学习目标成果展示 成果展示视频
独立按键
硬件知识

代码
代码语言:javascript
代码运行次数:0
运行 复制#include#include #include #define DBG_TAG "main" #define DBG_LVL DBG_LOG #include int main(void) { unsigned int count = 1;
/* 设置 RGB 灯引脚的模式为输出模式 */ rt_pin_mode(PIN_LED_R, PIN_MODE_OUTPUT); rt_pin_mode(PIN_LED_G, PIN_MODE_OUTPUT); rt_pin_mode(PIN_LED_B, PIN_MODE_OUTPUT); /* 设置 KEY 引脚的模式为输入模式 */ rt_pin_mode(PIN_KEY0, PIN_MODE_INPUT); rt_pin_mode(PIN_KEY1, PIN_MODE_INPUT); rt_pin_mode(PIN_KEY2, PIN_MODE_INPUT); while (count youjiankuohaophpcn 0) { /* 读取按键 KEY 的引脚状态 */ if (rt_pin_read(PIN_KEY0) == PIN_LOW) { rt_thread_mdelay(50); if (rt_pin_read(PIN_KEY0) == PIN_LOW) { /* 按键已被按下,输出 log,点亮 LED 灯 */ LOG_D("KEY0 pressed!"); rt_pin_write(PIN_LED_R, PIN_LOW); } } else if (rt_pin_read(PIN_KEY1) == PIN_LOW) { rt_thread_mdelay(50); if (rt_pin_read(PIN_KEY1) == PIN_LOW) { /* 按键已被按下,输出 log,点亮 LED 灯 */ LOG_D("KEY1 pressed!"); rt_pin_write(PIN_LED_G, PIN_LOW); } } else if (rt_pin_read(PIN_KEY2) == PIN_LOW) { rt_thread_mdelay(50); if (rt_pin_read(PIN_KEY2) == PIN_LOW) { /* 按键已被按下,输出 log,点亮 LED 灯 */ LOG_D("KEY2 pressed!"); rt_pin_write(PIN_LED_B, PIN_LOW); } } else { /* 按键没被按下,熄灭 LED 灯 */ rt_pin_write(PIN_LED_R, PIN_HIGH); rt_pin_write(PIN_LED_G, PIN_HIGH); rt_pin_write(PIN_LED_B, PIN_HIGH); } rt_thread_mdelay(10); count++; } return 0;}
总结
<< 上一篇
下一篇 >>

网友留言(0 条)