用的F28335芯片,初始化配置的TZ为一次性触发,把所有路驱动都拉低。 PWM配置完以后,用软件一次性触发TZ,触发语句如下图,把四路PWM强制软件触发一次TZ保护。
过一段时间,想要开启PWM的时候用下图的代码去清除一次性TZ保护。
EALLOW; // open driver
EPwm1Regs.TZCLR.bit.OST = 1;
EPwm2Regs.TZCLR.bit.OST = 1;
EPwm3Regs.TZCLR.bit.OST = 1;
EPwm4Regs.TZCLR.bit.OST = 1;
EDIS;
但是,软件执行这一段话后,TZ的Flag标志位里OST值还是1。 清除不掉TZ的一次性故障标志位,导致PWM不能输出。
这是为什么? 清除TZ标志位是不是要满足什么条件才能清除
mangui zhang:请参考相关帖子
e2echina.ti.com/…/166312
用的F28335芯片,初始化配置的TZ为一次性触发,把所有路驱动都拉低。 PWM配置完以后,用软件一次性触发TZ,触发语句如下图,把四路PWM强制软件触发一次TZ保护。
过一段时间,想要开启PWM的时候用下图的代码去清除一次性TZ保护。
EALLOW; // open driver
EPwm1Regs.TZCLR.bit.OST = 1;
EPwm2Regs.TZCLR.bit.OST = 1;
EPwm3Regs.TZCLR.bit.OST = 1;
EPwm4Regs.TZCLR.bit.OST = 1;
EDIS;
但是,软件执行这一段话后,TZ的Flag标志位里OST值还是1。 清除不掉TZ的一次性故障标志位,导致PWM不能输出。
这是为什么? 清除TZ标志位是不是要满足什么条件才能清除
Green Deng:不知道你的问题是否有解决?
另外,要上传图片的话需要使用输入框右下角的高级编辑器添加图片
用的F28335芯片,初始化配置的TZ为一次性触发,把所有路驱动都拉低。 PWM配置完以后,用软件一次性触发TZ,触发语句如下图,把四路PWM强制软件触发一次TZ保护。
过一段时间,想要开启PWM的时候用下图的代码去清除一次性TZ保护。
EALLOW; // open driver
EPwm1Regs.TZCLR.bit.OST = 1;
EPwm2Regs.TZCLR.bit.OST = 1;
EPwm3Regs.TZCLR.bit.OST = 1;
EPwm4Regs.TZCLR.bit.OST = 1;
EDIS;
但是,软件执行这一段话后,TZ的Flag标志位里OST值还是1。 清除不掉TZ的一次性故障标志位,导致PWM不能输出。
这是为什么? 清除TZ标志位是不是要满足什么条件才能清除
Rayna Wang:1. 电路是否存在过流,或trip限制值太小?
2. 清除代码的位置在哪里,是否被调用?