当前位置: 首页 > 新闻动态 > 科技资讯

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

作者:看不見的法師 浏览: 发布日期:2025-04-24
[导读]:目录学习目标成果展示硬件知识代码总结学习目标成果展示成果展示视频独立按键硬件知识代码代码语言:javascript代码运行次数:0运行复制#include#include#include#defineDBG_TAG"main"#defineDBG_LVLDBG_LOG#includeintmain(void){unsignedint

目录

学习目标

成果展示

硬件知识

代码

总结


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

独立按键

硬件知识

代码

代码语言: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;

}

总结

免责声明:转载请注明出处:http://sczxchw.cn/news/194330.html

扫一扫高效沟通

多一份参考总有益处

免费领取网站策划SEO优化策划方案

请填写下方表单,我们会尽快与您联系
感谢您的咨询,我们会尽快给您回复!