void PWM_Init(void)
{
rGPFCON = 0x20000000; //设置GPF14为PWM0输出
rTCFG0 = 49; //设置预定标器值
rTCFG1 = 0x0000; //设置分频数
rTCNTB0 = 0x000007ff; //设置上限值开始值
rTCMPB0 = 0x00000000; //设置比较值,电平在rTCMPB0与rTCNTB0相等时反转。
//下面两项的设置似乎很严格!!!!!
rTCON |= (1<<1); //手动更新
rTCON = 0x0f; //定时器0开始工作
}
注:以上初始化能驱动PWM,但很奇怪的是以下这两句只能这样配置,改成其它值就不行了:
rTCON |= (1<<1); //手动更新
rTCON = 0x0f; //定时器0开始工作
期待高手解决!