本文为结合瑞萨e2studio工具,以及CPKCOR_RA8D1B评估板,给大家讲述瑞萨RA8D1单片机IO中断配置实现的方法。
实现简单的功能:配置一个LED翻转(亮灭)+一个按键(Key)中断,按键按一次,LED翻转一下。
准备工作
开发RA8D1单片机需要提前安装好软件工具,还有准备好RA8板卡以及下载调试器。
1下载安装集成开发环境
开发瑞萨RA8系列单片机的工具有很多,常见的主要是:
e2studio一站式服务工具
RASC+Keil,或RASC+IAR
推荐大家使用瑞萨官网的e2studio一站式服务工具。这里大家可以参看我之前分享的文章:
瑞萨RA8系列教程 | 瑞萨RA8开发环境搭建,并点亮一个LED
2准备硬件板卡
本教程就使用瑞萨CPKCOR_RA8D1B评估板,这块板卡集成了J-link,我们只需要用一根线连接电脑即可下载调试。
e2s配置按键中断
e2studio可以理解为包含单片机底层配置工具、编辑器、编译器、调试器等多种功能为一体的一站式服务工具,和其他一些MCU厂商的“可视化配置工具”类似,只需要动动鼠标,就能快速创建瑞萨单片机软件工程。
我们这里配置一个LED翻转(亮灭)+一个按键(Key)中断:按键按一次,LED翻转一下。
1基于e2s快速创建软件工程模板
打开e2s,文件->新建->瑞萨C/C++项目->Renesas RA:

输入工程名称,比如我们输入RA8D1_KEY:

选择单片机型号,比如R7FA8D1BHEC:

选择Non-TrustZone项目工程:

选择Executable:

选择【Bare Metal-Minimal】,然后点击完成,一个项目模板就创建好了。

2配置LED+KEY中断
在【Pins】选项栏,选中LED引脚,我们这里PA01,配置为输出模式。

然后,在IRQ栏目下,选中对于的中断号,我们使用P008作为按键中断,这里就是IRQ12。

在【Stacks】选项栏,新增一个Stack->Input->External lRQ:

然后,设置对应属性:

3添加代码实现按键中断功能
这里,我们只需要在自带的hal_entry.c源文件下添加少许代码,即可实现按键中断:按键KEY按下,LED翻转。

#include "hal_data.h" FSP_CPP_HEADER void R_BSP_WarmStart(bsp_warm_start_event_t event); FSP_CPP_FOOTER /* 定义LED翻转 */ #define LED_TOGGLE R_PORT10->PODR ^= 1<<(BSP_IO_PORT_10_PIN_01 & 0xFF) /*******************************************************************************************************************//** * main() is generated by the RA Configuration editor and is used to generate threads if an RTOS is used. This function * is called by main() when no RTOS is used. **********************************************************************************************************************/ void hal_entry(void) { /* TODO: add your own code here */ //中断初始化 R_ICU_ExternalIrqOpen(&g_external_irq12_ctrl, &g_external_irq12_cfg); R_ICU_ExternalIrqEnable(&g_external_irq12_ctrl); while(1) { } #if BSP_TZ_SECURE_BUILD /* Enter non-secure code */ R_BSP_NonSecureEnter(); #endif } /* 按键中断回调函数 */ void key_external_irq_callback(external_irq_callback_args_t *p_args) { /* 判断中断通道 */ if (12 == p_args->channel) { LED_TOGGLE; // 按键KEY按下,LED翻转 } }实现效果: 最后,这样配置,是不是相对以前那种一步一步移植代码更简单?
-
led
+关注
关注
243文章
24436浏览量
687447 -
单片机
+关注
关注
6074文章
45340浏览量
663581 -
瑞萨
+关注
关注
36文章
22430浏览量
89751 -
开发环境
+关注
关注
1文章
252浏览量
17534
发布评论请先 登录
使用瑞萨RA8D1开发板实现人脸识别的应用演示
【瑞萨RA8D1 CPK开发板试用】开箱与点灯
【CPKCOR-RA8D1】RA8D1开箱测试报告
【有奖评测 】最强Cortex-M85单片机!RA8D1套件(显示屏+摄像头)免费评测

瑞萨RA8D1单片机IO中断配置实现方法
评论