使用的模模式,比较模式6.,可以正常输出指定周期和占空比的单个pwm。此为前提。
现有三种波。
A:周期10ms,占空比10%。
B:40ms 50%
C:30ms 20%
初始化输出A,然后轮流输出B和C,间隔为200ms,
结果:
上电正常输出A持续200ms,然后每隔200ms输出B,中间应该输出c的时间段恒定为高。
另外,如果B和C的周期相同,只有占空不一样倒是可以循环输出B和C.
猜想:B和C这两个波形总是输出的周期较大的一个。我是通过重写t1cc0和t1cc4这两个寄存器(自己写的函数如下),是因为不能这样写,还是t1cc0写一个更小的值会无效啊?求解答。谢谢
void setT1Pwm(uint8 t1cc0l,uint8 t1cc4l)
{
T1CTL &= ~(3); //暂停定时器
T1CC0L = t1cc0l;
T1CC0H = 0x00;
T1CC4L=t1cc4l;
T1CC4H=0x00;
T1CCTL4 |=0x04;
T1CTL |=(1<<1);
}