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

代码
代码语言:javascript
代码运行次数:0
运行 复制#include <rtthread.h>
#include <rtdevice.h>
#include <board.h>
#define DBG_TAG "main"
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
<p>int main(void)
{
unsigned int count = 1;</p><pre class="brush:php;toolbar:false;"><code>/* 设置 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 > 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;}

总结
以上就是(二)STM32L4(RT- Thread)——独立按键的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号