PSoc62?开发板之按键控制LED
2023-12-24 21:43:34
实验目的
使用板子上的用户自定义按键控制LED亮灭,当按键按下时LED亮起来,不按下则不亮
电路图
按键电路
板子有两组按键,分别是系统复位按键和用户自定义按键,这里我们选择控制用户自定义按键,可以看到MCU_USER_BTN
是通过上拉电阻接入电源的
按键引脚图
MCU_USER_BTN
对应的是引脚P6.2
LED电路
板子有两个自主控制的LED,为绿色,通过上拉方式接入GPIO,MCU_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不亮
文章来源:https://blog.csdn.net/HeavenMo/article/details/135186834
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!