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

2025-04-24阅读 0热度 0
硬件 ai

目录

学习目标

成果展示

硬件知识

代码

总结

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

独立按键

硬件知识

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

代码

代码语言: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">/* 设置 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;
登录后复制
免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策