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

目录

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

学习目标

成果展示

硬件知识

代码

总结


学习目标成果展示 成果展示视频

独立按键

硬件知识

(二)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;

}

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

总结

关键词:硬件ai

网友留言(0 条)

发表评论