28335的中断服务函数地址,在初始化完成之后,还是否可以修改?如
初始化时
EALLOW; PieVectTable.EPWM1_INT = &Calc_isr; EDIS;
运行一段时间之后,修改为
EALLOW; PieVectTable.EPWM1_INT = &Pwm_isr; EDIS;
如果可以,这样写的缺点是什么,谢谢!
HG:
为了能够对这些特殊寄存器进行初始化,所以在对上述特殊寄存器进行改写之前,一定要执行汇编指令asm(“EALLOW”)或者宏定义EALLOW来设置状态寄存器可写,在设置完寄存器之后,一定要注意执行汇编指令asm(“EDIS”)或者宏定义EDIS来清除状态寄存器的可写态。
所以这个这样的操作在编写时当然是可行的。但是实际上,一旦你要重新配置,那么应该保证设备处于一种初始态“如刚上电的状态”,确保中断不被执行。
28335的中断服务函数地址,在初始化完成之后,还是否可以修改?如
初始化时
EALLOW; PieVectTable.EPWM1_INT = &Calc_isr; EDIS;
运行一段时间之后,修改为
EALLOW; PieVectTable.EPWM1_INT = &Pwm_isr; EDIS;
如果可以,这样写的缺点是什么,谢谢!
rookiecalf:
可以的,一般初始化时采集采样通道偏差值就是这么处理的。最后一次执行初始化中断中修改就可以了。