RA生态之外部中断EXIT

Posted 衾许°

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RA生态之外部中断EXIT相关的知识,希望对你有一定的参考价值。

实现:通过按键形式以及灯的亮灭形式进行演示

EXIT 配置

Stacks->New Stack->Input -> External IRQ Driver on r_icu

R_ICU_ExternalIrqOpen()函数:配置用于外部中断接口的 IRQ 输入引脚,配置如下所示。

/* Configure the external interrupt. */ fsp_err_t err = R_ICU_ExternalIrqOpen(&g_external_irq7_ctrl,&g_external_irq7_cfg); assert(FSP_SUCCESS == err);

 例程:

#include "hal_data.h"
#include <stdio.h>

FSP_CPP_HEADER
void R_BSP_WarmStart(bsp_warm_start_event_t event);
FSP_CPP_FOOTER
fsp_err_t err = FSP_SUCCESS;
/******************************************************************/
/*串口重定向*/
volatile bool uart_send_complete_flag = false;
int fputc(int ch, FILE *f)

    err = R_SCI_UART_Write(&g_uart0_ctrl, (uint8_t *)&ch, 1);
    if(FSP_SUCCESS != err) __BKPT();
    while(uart_send_complete_flag == false)
    uart_send_complete_flag = false;
    return 0;

/*串口回调函数*/
void user_uart_callback (uart_callback_args_t * p_args)

    if(p_args->event == UART_EVENT_TX_COMPLETE)
    
        uart_send_complete_flag = true;
    

/******************************************************************/
/*外部中断回调函数*/
bsp_io_level_t level = BSP_IO_LEVEL_LOW;
void exit0_callback(external_irq_callback_args_t *p_args)

    (void) p_args;
    if(level) R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_HIGH);
    else R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_LOW);
    level=~ level;

void hal_entry(void)

        /*外部中断初始化用的外部中断0的3通道*/
        err = R_ICU_ExternalIrqOpen(&g_external_irq0_ctrl, &g_external_irq0_cfg);
        assert(FSP_SUCCESS == err);
        /*使能外部中断*/
        err = R_ICU_ExternalIrqEnable(&g_external_irq0_ctrl);
        assert(FSP_SUCCESS == err);
        while(1)
        
            R_BSP_SoftwareDelay(100, BSP_DELAY_UNITS_MILLISECONDS);
        
#if BSP_TZ_SECURE_BUILD
    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif

 把P206当成一个触摸按键,碰一下LED就改变状态

以上是关于RA生态之外部中断EXIT的主要内容,如果未能解决你的问题,请参考以下文章

RA生态之外部中断EXIT

RA生态之USART通过定时器中断接收不定长数据

RA生态之USART通过定时器中断接收不定长数据

RA生态之USART通过定时器中断接收不定长数据

RA生态之ADC 采样

RA生态之ADC 采样