TI论坛
直播中

杨逊咏

8年用户 245经验值
私信 关注
[问答]

请问中断ISR不需要清旗标吗?

Hello
请问一下,我在试TMS570的一个Rti中断让LED闪烁,而ISR里面,只有HET的代码,如下图:

在ISR执行后,不需要清除任何中断旗标(flag)吗?
由於我之前是c2000的使用者,都会需要去清旗标。
谢谢

回帖(3)

李平

2020-5-28 07:39:02
Shunfan,
  RTI的中断标志清楚操作在另外一个函数里面,你可以查看RTI.c 里面的函数:
#pragma INTERRUPT(rtiCompare0Interrupt, IRQ)
void rtiCompare0Interrupt(void)
[
/* USER CODE BEGIN (39) */
/* USER CODE END */
rtiREG1->INTFLAG = 1U;
rtiNotification(rtiNOTIFICATION_COMPARE0);
/* USER CODE BEGIN (40) */
/* USER CODE END */
]


谢谢
  
                                                                         



BR,
KEN
举报

杨逊咏

2020-5-28 07:45:28
引用: lining870815844 发表于 2020-5-28 07:39
Shunfan,
  RTI的中断标志清楚操作在另外一个函数里面,你可以查看RTI.c 里面的函数:
#pragma INTERRUPT(rtiCompare0Interrupt, IRQ)

Hello Ken,
看来是我搞错了,ISR应该是rtiCompare0Interrupt()  才对而不是 rtiNotification(),
那请问rtiNotification()的功用为何呢? 我发现每一个ISR里面都有一个Notification(),TI内建这个函数的目的为何呢?
谢谢您
举报

李平

2020-5-28 08:00:52
引用: 小呆瓜子 发表于 2020-5-28 07:45
Hello Ken,
看来是我搞错了,ISR应该是rtiCompare0Interrupt()  才对而不是 rtiNotification(),
那请问rtiNotification()的功用为何呢? 我发现每一个ISR里面都有一个Notification(),TI内建这个函数的目的为何呢?

rtiNotification()函数你可以把它看做一个中断回调函数,里面可以加上你自己需要执行的操作。HALCOGEN自动生成的rtiCompare0Interrupt()只是做了一个中断标志清楚和相应的中断函数的响应过程。
当然你也完全可以甩notification函数,把程序都放在interrupt函数里面也行。






谢谢
                                                                         



BR,
KEN
举报

更多回帖

发帖
×
20
完善资料,
赚取积分