问题解决了,应该是编译器自身的BUG所导致的,我用的是HIGHTEC。原先我是这样配置状态选择部分的, MODULE_CCU60.CMPSTAT.B.CC60PS = 0; MODULE_CCU60.CMPSTAT.B.COUT60PS = 1; MODULE_CCU60.CMPSTAT.B.CC61PS = 0; MODULE_CCU60.CMPSTAT.B.COUT61PS = 1; MODULE_CCU60.CMPSTAT.B.CC62PS = 0; MODULE_CCU60.CMPSTAT.B.COUT62PS = 1;结果今天我查询TC264的寄存器,结果只有COUT62PS被置位,COUT60PS、COUT61PS均没有被置位;然后,我换了下面的写法,结果正常,各个通道都有死区了,MODULE_CCU60.CMPSTAT.U = MODULE_CCU60.CMPSTAT.U | 0x00002A00;推测应该是HIGHTEC的BUG引起的。
问题解决了,应该是编译器自身的BUG所导致的,我用的是HIGHTEC。原先我是这样配置状态选择部分的, MODULE_CCU60.CMPSTAT.B.CC60PS = 0; MODULE_CCU60.CMPSTAT.B.COUT60PS = 1; MODULE_CCU60.CMPSTAT.B.CC61PS = 0; MODULE_CCU60.CMPSTAT.B.COUT61PS = 1; MODULE_CCU60.CMPSTAT.B.CC62PS = 0; MODULE_CCU60.CMPSTAT.B.COUT62PS = 1;结果今天我查询TC264的寄存器,结果只有COUT62PS被置位,COUT60PS、COUT61PS均没有被置位;然后,我换了下面的写法,结果正常,各个通道都有死区了,MODULE_CCU60.CMPSTAT.U = MODULE_CCU60.CMPSTAT.U | 0x00002A00;推测应该是HIGHTEC的BUG引起的。
举报