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

阿里云做网站送服务器吗显示网站建设中

阿里云做网站送服务器吗,显示网站建设中,3d地图网站模板html,手机app安装下载RA4M2开发涂鸦模块CBU.2--配置按键开启LED 概述视频教学样品申请硬件准备参考程序按键口配置中断回调函数主程序 概述 本实验演示如何在 Renesas RA4M2 单片机上使用 GPIO 输入(按键) 触发 GPIO 输出(LED),并使用e2st…

RA4M2开发涂鸦模块CBU.2--配置按键开启LED

  • 概述
  • 视频教学
  • 样品申请
  • 硬件准备
  • 参考程序
  • 按键口配置
  • 中断回调函数
  • 主程序

概述

本实验演示如何在 Renesas RA4M2 单片机上使用 GPIO 输入(按键) 触发 GPIO 输出(LED),并使用e2studio快速完成外设配置的基本流程。

最近在瑞萨RA的课程,需要样片的可以加qun申请:925643491。

在这里插入图片描述

视频教学

https://www.bilibili.com/video/BV14kMHzkEwt/

RA4M2开发涂鸦模块CBU(2)----配置按键开启LED

样品申请

https://www.wjx.top/vm/rCrkUrz.aspx

硬件准备

首先需要准备一个开发板,这里我准备的是自己绘制的开发板,需要的可以进行申请。
主控为R7FA4M2AD3CFL#AA0

在这里插入图片描述

参考程序

https://github.com/CoreMaker-lab/RA4M2_TUYA_CBU

https://gitee.com/CoreMaker/RA4M2_TUYA_CBU

按键口配置

由下图我们可以得知,按键在P111、P112、P013管脚,并且有一个上拉。

在这里插入图片描述

在“New Stack”下选择Input > External IRQ (r_icu)。
在这里插入图片描述

模块配置如下所示。
● Name:g_external_irq4,这是该外部中断的名称。
● Channel:选择了4通道。
● Trigger:触发方式设置为Rising(上升沿触发),即信号上升时触发中断。
● Digital Filtering:未启用数字滤波(Not Supported)。
● Digital Filtering Sample Clock:由于数字滤波未启用,因此该项也未支持。
● Callback:指定了回调函数external_irq4_callback。当中断触发时,将调用此函数处理具体逻辑。
● Pin Interrupt Priority:设置为Priority 2,表示该中断的优先级为2。
● IRQ06:映射到引脚P000,即该中断信号通过引脚P111触发。

在这里插入图片描述

中断回调函数

● external_irq4_callback函数是外部中断的回调函数,当中断触发时,s_ext_irq_flag中断服务程序会调用此函数。
● s_ext_irq_flag 变量在每次中断时切换状态(如果是0则变1,如果是1则变0)。

/** @brief 由中断回调函数切换的外部中断标志 */
static volatile bool s_ext_irq_flag = false;/*** @brief 外部中断 IRQ4 回调函数** 当 ICU 外部中断发生时调用,切换外部中断标志。** @param[in] p_args 中断回调参数(未使用)*/
void external_irq4_callback(external_irq_callback_args_t *p_args)
{(void)p_args;s_ext_irq_flag = !s_ext_irq_flag;
}

在这里插入图片描述

主程序

● 调用R_ICU_ExternalIrqOpen函数初始化外部中断模块g_external_irq4。g_external_irq4_ctrl和g_external_irq4_cfg是配置外部中断的控制结构体和配置结构体。
● 如果初始化成功,err会返回FSP_SUCCESS,否则程序会停止(通过assert进行错误检测)。

    fsp_err_t err = R_ICU_ExternalIrqOpen(&g_external_irq4_ctrl, &g_external_irq4_cfg);assert(FSP_SUCCESS == err);

● 启用外部中断,使其可以响应触发事件。
● assert用于确认操作成功,否则程序会停止。

    err = R_ICU_ExternalIrqEnable(&g_external_irq4_ctrl);assert(FSP_SUCCESS == err);

完整代码如下。

/*** @brief 初始化外部中断 IRQ4** 打开并使能 ICU 外部中断通道 4。** @return FSP_SUCCESS 表示成功,否则返回错误码*/
static fsp_err_t external_irq4_init(void)
{fsp_err_t err = R_ICU_ExternalIrqOpen(&g_external_irq4_ctrl, &g_external_irq4_cfg);if (FSP_SUCCESS != err){return err;}err = R_ICU_ExternalIrqEnable(&g_external_irq4_ctrl);return err;
}

在这里插入图片描述

定义LED按键函数。

/*** @brief 根据中断标志更新 LED 输出** 根据 s_ext_irq_flag 状态设置指定 IOPORT 引脚高低电平。*/
static inline void led_update(void)
{R_IOPORT_PinWrite(&g_ioport_ctrl,BSP_IO_PORT_01_PIN_04,s_ext_irq_flag ? BSP_IO_LEVEL_HIGH : BSP_IO_LEVEL_LOW);
}

在这里插入图片描述

主循环中根据led_update的状态来控制GPIO引脚的高低电平。

void hal_entry(void)
{/* TODO: add your own code here *//* 初始化外部中断 IRQ4 */fsp_err_t err = external_irq4_init();assert(FSP_SUCCESS == err);/* 主循环:根据中断事件切换 LED */while (1){led_update();}#if BSP_TZ_SECURE_BUILD/* Enter non-secure code */R_BSP_NonSecureEnter();
#endif
}

在这里插入图片描述

http://www.dtcms.com/a/438408.html

相关文章:

  • 【AGI使用教程】Meta 开源视觉基础模型 DINOv3(1)下载与使用
  • JAVA之拷贝数组
  • 开源 C# 快速开发(十七)进程--消息队列MSMQ
  • [UnrealEngine] 虚幻编辑器界面 | 虚幻界面详解 | UE5界面详解
  • 旅游网站开发周期成都古怪科技网站建设公司
  • JavaEE初阶——网络原理初探:从独立模式到TCP/IP五层模型
  • 代码随想录算法训练营第五十七天|53.寻宝
  • 构建模拟人类思维过程的高级智能体检索增强生成(Agentic RAG)流水线模糊性检查、多工具规划、自我修正、因果推理等功能
  • 去类似美团网站做软件开发摄影毕业设计选题作品
  • TeR-TSF 论文解读
  • Eclipse 中文语言包安装教程:一键将界面切换为中文
  • id注册网站修改wordpress数据库配置文件
  • Navicat 17最新安装使用教程(附安装包)
  • C语言字符串安全查找三剑客:strchr_s、strrchr_s、strstr_s解析
  • 网络层协议—IP协议
  • 网站设计前沿网站淘宝开店需要多少钱
  • CSP-J复赛模拟赛2 王晨旭补题 2025.10.2
  • 理解Consumer<T>
  • Linux:了解Socket编程
  • UE4报错:无法编译项目
  • Cobalt Strike
  • 牛客算法基础noob61 字符串操作
  • 快速制作简单的网站网站建设 中山
  • 网络爬虫技术规范与应用指南系列(xc—1)
  • CSS Border(边框)
  • Photoshop - Photoshop 工具库
  • 2.1.2 扩展知识:AI 语音通话
  • 动态目标检测与跟踪:基于卡尔曼滤波的门限关联与可视化全流程
  • Codeforces Round 863 A. Insert Digit (1811)
  • 企业网站建立要做的准备更新电脑版wordpress