RH850支持两种中断模式:一种是直接中断地址跳转;另一种是中断向量表查表跳转。
EI可屏蔽中断表 EI可屏蔽中断表 来自用户手册章节《6.2.1.3 EI Level Maskable Interrupts》
直接中断地址编程方法:
1、配置中断的参数。
#pragma interrupt priority7_interrupt( enable=false , priority=EIINT_PRIORITY7 , callt=false , fpu=false )
2、编写中断服务函数。
void priority7_interrupt( uint32_t regEIIC_value )
{
if(regEIIC_value == 0x0000101BUL)XX; //如果该条件满足,说明串口接收完成中断产生,请参考用户手册EI可屏蔽中断表
}
3、编辑中断向量表
.extern _priority7_interrupt
.align 16
jr32 _priority7_interrupt ; INTn(priority7) // _Dummy_EI替换为_priority7_interrupt
4、开启全局中断
__EI();
中断向量表方法编程方法:
1、配置中断的参数。
#pragma interrupt INTRCANGRECC_interrupt( enable = false, channel = 15, callt = false, fpu = false )
通道编号15 请参考用户手册EI可屏蔽中断表
2、编写中断服务函数。
void INTRCANGRECC_interrupt( void )
{ //可添加自己要处理的内容
}
3、编辑中断向量表
.dw #_Dummy_EI ; EIINT_CH_13
.dw #_Dummy_EI ; EIINT_CH_14
.dw #_INTRCANGRECC_interrupt ; EIINT_CH_15 _Dummy_EI替换为_INTRCANGRECC_interrupt
.dw #_Dummy_EI ; EIINT_CH_16
4、开启全局中断
__EI();
参考文件:
《RH850/F1L Group User’s Manual: Hardware 》
EI可屏蔽中断表 来自用户手册《6.2.1.3 EI Level Maskable Interrupts》