网站建设方案书写,安庆什么网站做火,网站的手机客户端怎样做,济南效果图制作公司实验目的
使用板子上的用户自定义按键控制LED亮灭#xff0c;当按键按下时LED亮起来#xff0c;不按下则不亮
电路图
按键电路
板子有两组按键#xff0c;分别是系统复位按键和用户自定义按键#xff0c;这里我们选择控制用户自定义按键#xff0c;可以看到MCU_USER_B…实验目的
使用板子上的用户自定义按键控制LED亮灭当按键按下时LED亮起来不按下则不亮
电路图
按键电路
板子有两组按键分别是系统复位按键和用户自定义按键这里我们选择控制用户自定义按键可以看到MCU_USER_BTN是通过上拉电阻接入电源的 按键引脚图
MCU_USER_BTN对应的是引脚P6.2 LED电路
板子有两个自主控制的LED为绿色通过上拉方式接入GPIOMCU_USER_LED1对应P0.0
程序设计
以下程序用于使用用户自定义按键控制LED亮灭
#include rtthread.h
#include rtdevice.h#include drv_gpio.h#define LED0_PIN GET_PIN(0, 0)
#define USER_KEY GET_PIN(6, 2)void irq_callback()
{int val rt_pin_read(USER_KEY);if(val 1) {rt_pin_write(LED0_PIN, PIN_HIGH);}else {rt_pin_write(LED0_PIN, PIN_LOW);}
}int main(void)
{rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT);rt_pin_mode(USER_KEY, PIN_MODE_INPUT_PULLUP);rt_pin_attach_irq(USER_KEY, PIN_IRQ_MODE_RISING_FALLING, irq_callback, RT_NULL);rt_pin_irq_enable(USER_KEY, PIN_IRQ_ENABLE);return 0;
}GET_PIN宏是HAL_Drivers中一个用于访问指定编号GPIO口的宏在头文件drv_gpio.h中
rt_pin_mode是RT-Thread提供的引脚模式设置接口
rt_pin_write是RT-Thread提供的引脚高低电平设置接口
实验效果
可以看到当按键按下时绿色LED位于Infineon logo下方亮起来恢复时LED不亮 按键控制LED