瑞萨单片机william hill官网
直播中

TLLED

11年用户 207经验值
擅长:嵌入式技术
私信 关注
[经验]

【瑞萨RA4系列开发板体验】外部中断测试

测试下外部中断,使用开发板上的SW1来测试下降沿触发中断,翻转LED1灯指示。

一、软件配置

1.1、硬件威廉希尔官方网站
SW1使用芯片引脚P005
3180049.png

1.2、配置外部中断
定义名称、中断方式、中断函数,选择中断对应的引脚等参数
3180155.png

配置完成后,生成代码。

二、代码
软件配置完成后,添加中断的代码

2.1、eint.c

#include "hal_data.h"
#include "led.h"

bsp_io_level_t but1_status = BSP_IO_LEVEL_LOW;                                              
void init_eint(void)
{
	R_ICU_ExternalIrqOpen(but1.p_ctrl,but1.p_cfg);
	R_ICU_ExternalIrqEnable(but1.p_ctrl);
}

void but1_callback(external_irq_callback_args_t *p_args)                                    
{
	(void) p_args;
	if(but1_status==BSP_IO_LEVEL_LOW)
	{
		led1_off();
	}
	else
	{
		led1_on();
	}
	but1_status=~ but1_status;                                                            
}

2.2、eint.h

#ifndef EINT_H_
#define EINT_H_

void init_eint(void);

#endif

2.3、hal_entry.c

void hal_entry(void)
{		
	R_BSP_PinAccessEnable();
	init_led();
	init_eint();
	

	while(1)
	{			
		//led_test();
	}

#if BSP_TZ_SECURE_BUILD
    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif
}

三、程序运行

按下按键时,下降沿触发中断,翻转LED1灯状态。

180754

更多回帖

发帖
×
20
完善资料,
赚取积分