TI中文支持网
TI专业的中文技术问题搜集分享网站

关于RM42外部中断手动配置问题

 我没有使用HCG进行RM42的外部中断配置,我再CCS中使用一下函数进行配置

vimChannelMap(9U, 9U, &vISR_GIO_MAX3107_Timeout);
vimEnableInterrupt(9U, SYS_IRQ);
_enable_interrupt_();

当进行以上配置后,发现vISR_GIO_MAX3107_Timeout只进入一次中断函数,我用示波器发现中断触发的pin已经被拉低,且不再恢复到高电平。

然后我再IAR的环境中将这个函数vISR_GIO_MAX3107_Timeout,前面增加__irq __arm 就可以正常中断了,请问在CCS中怎么配置这个中断函数?

Susan Yang:

很抱歉,我对这颗芯片不太熟悉,请您去英文E2E咨询下相关的工程师,谢谢

e2e.ti.com/…/312

,

user4091827:

我已经找到如何解决了,方法如下:

1.在sys_vim.c文件中添加channel 9的中断函数

static const t_isrFuncPTR s_vim_init[96U] ={ &phantomInterrupt, &esmHighInterrupt, /* Channel 0 */ &phantomInterrupt, /* Channel 1 */ &phantomInterrupt, /* Channel 2 */ &phantomInterrupt, /* Channel 3 */ &phantomInterrupt, /* Channel 4 */ &phantomInterrupt, /* Channel 5 */ &phantomInterrupt, /* Channel 6 */ &phantomInterrupt, /* Channel 7 */ &phantomInterrupt, /* Channel 8 */ &vISR_GIO_MAX3107_Timeout, /*gioHighLevelInterrupt Channel 9 */

。。。

2.在所定义的函数前添加如下:

#pragma CODE_STATE(vISR_GIO_MAX3107_Timeout, 32)#pragma INTERRUPT(vISR_GIO_MAX3107_Timeout, IRQ)

完成以上步骤即可。

,

Susan Yang:

谢谢您的分享!

赞(0)
未经允许不得转载:TI中文支持网 » 关于RM42外部中断手动配置问题
分享到: 更多 (0)