各位专家:
在我的应用程序中,我必须以上-下-计数模式运行时基子模块。
在时间点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