当前位置: 首页 > news >正文

PSoc62™开发板之按键控制LED

实验目的

使用板子上的用户自定义按键控制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不亮

按键控制LED

http://www.lryc.cn/news/267052.html

相关文章:

  • Vue-Pinina基本教程
  • 大批量数据导出csv,平替导出excel性能优化解决方案封装工具类
  • C++ Qt开发:Charts绘制各类图表详解
  • 【SassVue】仿网易云播放器动画
  • CentOS进入单用户模式
  • 微信小程序~如何设置页面的背景色
  • 图灵日记之java奇妙历险记--输入输出方法数组
  • CSS新手入门笔记整理:CSS3弹性盒模型
  • OCP NVME SSD规范解读-1
  • 大规模和复杂问题挑战——分治思想来应战
  • 六西格玛的科技漩涡——张驰咨询如何促成企业变革
  • 由于被认为是客户端对错误(例如:畸形的请求语法、无效的请求信息帧或者虚拟的请求路由),服务器无法或不会处理当前请求。
  • 【案例】图片预览
  • ubuntu 18/20/22 安装 mysql 数据库
  • 通过U盘:将电脑进行重装电脑
  • C# SqlSugar 数据库 T4模板
  • ARM AArch64的TrustZone架构详解(下)
  • 《Nature》预测 2024 科技大事:GPT-5预计明年发布等
  • 「Verilog学习笔记」并串转换
  • 应急响应常用命令
  • 使用React和ResizeObserver实现自适应ECharts图表
  • 修改第三方npm包
  • Redis性能优化:关键配置和最佳实践
  • 华为数通方向HCIP-DataCom H12-831题库(多选题:241-249)
  • typeorm联表查询:副表json格式放到主表字段下或多个副表字段并列主表字段
  • Flume采集日志存储到HDFS
  • redis—String字符串
  • 三相电机转差率为负值的情形
  • 关于Dark Frost 僵尸网络对游戏行业进行DDoS攻击的动态情报
  • MongoDB数据库本地部署并结合内网穿透实现navicat公网访问