英飞凌 TC3xx GTM ATOM配置
·
ATOM配置出现的问题
在配置英飞凌TC3XX芯片的定时器,GTM ATOM定时器时,遇到问题:单独配置atom的channel时,定时器可以正常出发超时回调,one shot和循环模式,修改cmp值均符合预期,但是当配置多个channel时,会出现某些定时器的channel超时中断无法触发,查看定时器的cm和sr等寄存器均正确。
翻阅英飞凌文档发现:对于GTM的ATOM的相邻通道共享同一个中断线,如ATOM[i]_CH[2x]和ATOM[i]_CH[2x+1]是共享一个中断线的,而在配置时使ch4和5对应了不同的中断处理函数,可能会存在中断处理函数的二义性,从而导致无法确定在哪个中断处理函数处理中断,所以4和5都没有输出。也就出现了上面的问题,对应的CN0,CM0,SR0寄存器都是正确的,但无中断处理函数执行。

注意:
ATOMx的相邻channel(我们用c0,c1来表示)共享同一个中断线,也就是说c0或者c1只要其中一个channel产生中断,那么中断线上都会有一个中断信号,并且触发中断处理函数,如果两个channel同时触发中断处理函数,那么也只会调用一个中断处理函数。在中断处理函数中通过CCUxTC来判断是哪个channel触发的中断
更多推荐

所有评论(0)