Part Number:LAUNCHXL-F28379D
如图1所示,电机控制电流ADC采样、坐标变换、电流环调节器等模块都处于ADC采样中断中,采样中断触发源是ePWM计数值等于Timer period。那么其余模块(坐标变换、电流环调节器等)是在中断触发时刻开始执行的吗?查到有文献显示电流环调节器在计数器等于0时刻开始计算,如图2所示。同在ADC中断下,难道执行时间不一致吗?
Green Deng:
你好,我觉得程序执行的顺序不是应该跟你的编程逻辑相关的吗?简单来说你的程序逻辑要求它在计数器等于0开始计算它就可以在0时开始计算。
同一个中断中包含这么多任务的话也是按照编程顺序来执行,不可能都在“中断触发时刻”开始执行,除非你用其他核来做,单核只能单线程处理。
,
pc m:
我的意思是中断触发时刻开始按顺序执行,那么也应该是在计数值等于Timer period时刻开始按照编程顺序执行。按照您的说法,如果我的中断触发源是计数值等于0,那么它会在0时刻开始计算;如果中断触发源是计数值等于Timer period,那么是在周期时刻开始计算中断里的程序。可以这样理解吗?
,
Green Deng:
具体的“在0时刻开始计算”是计算什么我没理解,不过你说的从
pc m 说:中断触发源是计数值等于0,那么它会在0时刻开始计算
pc m 说:中断触发源是计数值等于Timer period,那么是在周期时刻开始计算中断里的程序
这两点应该是正确的。