项目中使用28035的TZINT中断在ISR中做过流保护。初始化TZ模块的时候设置TZCLR为0xFFFF,清除所有TZ标志。
但是发现只要一使能TZ中断,马上就会触发TZ事件,此时TZFLG寄存器不为0,这时候再次向TZCLR写入0xFFFF清除TZ标志以后正常。
如果不使能TZ中断,TZFLG也不会置位。整个过程中TZ1-TZ3三个管脚都是高电平,实际上并没有TZ事件。
请问应该如何初始化TZ模块才能保证无误触发TZ事件和中断?
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.
项目中使用28035的TZINT中断在ISR中做过流保护。初始化TZ模块的时候设置TZCLR为0xFFFF,清除所有TZ标志。
但是发现只要一使能TZ中断,马上就会触发TZ事件,此时TZFLG寄存器不为0,这时候再次向TZCLR写入0xFFFF清除TZ标志以后正常。
如果不使能TZ中断,TZFLG也不会置位。整个过程中TZ1-TZ3三个管脚都是高电平,实际上并没有TZ事件。
请问应该如何初始化TZ模块才能保证无误触发TZ事件和中断?
整个过程中TZ1-TZ3三个管脚都是高电平,实际上并没有TZ事件。
最好是用示波器抓一下波形,排除尖峰之类的干扰因素;
如果实在找不出原因,可以在初始化ePWM模块之前失能总中断,使能TZ中断前后都向TZCLR写入0xFFFF,TZ中断成功初始化之后再使能总中断。