这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 【瑞萨RA4L1开发板】:使用外部中断点亮板载的LED灯

共1条 1/1 1 跳转至

【瑞萨RA4L1开发板】:使用外部中断点亮板载的LED灯

高工
2025-05-14 20:59:23     打赏

一:瑞萨的GPIO口介绍

 瑞萨的GPIO口,I/0端口引脚作为通用I/0端口引脚、外围模块I/0引脚、中断输入引脚、模拟I0、ELC的端口组功能运行。

所有引脚在复位后立即作为输入引脚操作,引脚功能通过寄存器设置进行切换。每个引脚的!/0端口和外围模块在相关寄存器中指定。

图18.1显示了1/0端口寄存器的连接图。不同封装的I/0端口配置不同。表18.1按封装列出了1/0端口规格,表18.2列出了端口功能。

1.png

二:硬件连接方式:

2.png

可以看到瑞萨4L1 开发板板载了两个用户按键P000 和P001,这里我们仪P001,作为本次项目的外部输入端,而LED0,LED1,LED2作为按键状态的显示,直观的显示外部中断按下的状态。

三:FSP的配置过程如下:

我们打开P001引脚的配置如下图所示:

3.png

看来P000只能用作外部通道6使用,而且我们需要配置引脚位外部中断模式;

在stack中我们对外部中断的功能进行配置,如下图所示:

4.png

属性中主要注意的几个地方:

Name:g_external irg6,这是通道的名称,这里我们使用默认的就可以,不是特别注意到话,不需要修改了。

Channel: 中断的通道号,就是我们具体到哪个通道号,这里配置通道6

Trigger: 触发模式,上升沿触发、下降沿触发、还是上升沿、下降沿都触发,这里为了方便看到效果我使用的是下降沿触发。

Callback:回调函数,这里意思就是当中断触发时候,执行的哪个函数,这里需要我们自己配置

Pin Interrupt Priority:中断优先级的配置,根据该项IO口所对应的功能特点,当同时触发中断时,优先级别高的函数先执行,由于这里只有一个外部中断,所以也就无所谓了

IRQ06:映射到引脚P000,即该中断信号通过引脚P000触发。

三:函数编写:

中断服务函数编写:

当中断触发的时候,下面的中断回调函数会被中断服务程序触发,在下降沿的时,对按下按键的个数进行计数。

bool g_external_irq_complete =0;
char inputcount =0 ;
/* Called from icu_irq_isr */
void external_irq6_callback (external_irq_callback_args_t * p_args)
{
(void) p_args;
g_external_irq_complete = !g_external_irq_complete;

inputcount ++ ;
}

主程序中对进入中断处理

if(inputcount%2 == 0)
{
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_01, BSP_IO_LEVEL_HIGH);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_10, BSP_IO_LEVEL_HIGH);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_09, BSP_IO_LEVEL_HIGH);
}
else
{
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_01, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_10, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_09, BSP_IO_LEVEL_LOW);
}

实物验证如下:

1 00_00_00-00_00_30.gif

简单分析一下中断的场景:

通过物理按键或拨动开关等输入装置触发外部中断,实现即时的

一:人机交互响应。典型应用包括:

照明控制(如LED状态切换)、设备启停操、工作模式选择

这种中断机制特别适合需要快速响应手动操作的场景,常见于消费电子、控制面板等设备。

二:环境感知触发

当传感设备监测到预设条件变化时(如温度超标、光照突变等),自动产生中断信号。主要特点包括:

实时环境参数监控、阈值触发响应、自动化处理流程

广泛应用于智能家居、工业控制系统、环境监测等领域,实现对物理量变化的快速响应。

测试代码如下:

RA4L1_Project6.zip




关键词: 瑞萨RA4L1、中断    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]