This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F28379D:更新 ePWM 模块上的寄存器 ETSEL

Guru**** 2589300 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1074463/tms320f28379d-update-of-register-etsel-on-epwm-module

部件号:TMS320F28379D

各位专家:

在我的应用程序中,我必须以上-下-计数模式运行时基子模块。
在时间点1,2,1,2,... (参见图)应触发中断例程 MyInterrupt ()。


时间点1中断事件:
计时器递增时,基于时间的计数器等于比较 B 寄存器(CMPB_1)。

时间点2中断事件:
如果计时器正在递减,则基于时间的计数器等于比较 B 寄存器(CMPB_2)。

因为我只能在事件触发器子模块中将一个事件设置为交互源,所以我要考虑以下因素来触发时间点1和2中的中断。

在时间1,在中断例程 MyInterrupt ()的开头:
反比较 B 阴影寄存器= CMPSB_2
ETSEL[INTSELCMC]= 0
ETSEL[INTSEL]= 111

在时间2,在中断例程 MyInterrupt ()的开头:
反比较 B 阴影寄存器= CMMPB_1
ETSEL[INTSELCMC]= 0
ETSEL[INTSEL]= 110

当时间基准计数器等于零或期间(TBCTR = 0x00 || TBCTR = TBPRD)时,从其阴影寄存器列表加载 Counter-Compare B 寄存器。在这里不能有问题。
我的问题是关于更新寄存器 ETSEL。 是否可以像我在上面所描述的那样“实时”更新此注册表。 这里是否会出现问题或不可预测的行为?

 提前感谢您的回复——Bui