21ic问答首页 - 华大芯片中断事件请求序号
华大芯片中断事件请求序号
阳仔很无奈2020-09-08
本帖最后由 阳仔很无奈 于 2020-9-8 13:31 编辑
C:\Users\XuYan\Desktop
针对定时器A,我想使用他的周期匹配中断,但是他的周期匹配中断的序列号16和17已经被我给了另外两个中断用了,现在我再例程中,将原先的序列号16更换为28,却发现无法正常工作了,这时为什么?
C:\Users\XuYan\Desktop
针对定时器A,我想使用他的周期匹配中断,但是他的周期匹配中断的序列号16和17已经被我给了另外两个中断用了,现在我再例程中,将原先的序列号16更换为28,却发现无法正常工作了,这时为什么?
赞0
好的,谢谢
评论
2020-09-11
赞0
你这个是M120吧,不是所有M0+的芯片都需要自定义中断向量。
因为28是共享中断向量,所以Irq的设置函数就不是原来的那个了。首先,宏定义里面的中断向量得改:
#define TIMERA_UNIT1_OVF_IRQn (Int028_IRQn)//(Int016_IRQn)//
然后中断函数也不是自定义的函数名字
void TimerAOV_IrqHandler()
{
u8TimeraUnit1Cnt++;
if (u8TimeraUnit1Cnt >= 100u) /* 1s */
{
u8TimeraUnit1Cnt = 0u;
LED_R_TOGGLE();
}
TIMERA_ClearFlag(TIMERA_UNIT1, TIMERA_FLAG_OVF);
}
然后中断设置使能的时候:不能用原来的配置函数。
//INTC_IrqRegistration(&stcIrqRegiConf);
INTC_ShareIrqCmd(stcIrqRegiConf.enIntSrc,Enable);
以下样例需要放在M120的DDL驱动库 DeviceDriverLibrary\hc32m120_ddl\example\timera内
评论
2020-09-09
赞0
原先的序列号指的是例程中的序列号,原例程中使用的是16的序列号,更换成17中断可以正常工作,但是换成28后无法正常工作。
评论
2020-09-08
赞0
评论
2020-09-08
您需要登录后才可以回复 登录 | 注册