中级会员
- 积分
- 423
- 威望
- 326
- 贡献
- 23
- 兑换币
- 0
- 注册时间
- 2010-1-7
- 在线时间
- 37 小时
|
像下面这样将初始化定义为一个子程序,然后在main函数里调用它后再设置PWMDTY就无法实现吗?
程序跑的时候舵机总是会偏向最右,PWMDTY的数值设置时没错的,放在PWME前就可以实现,在后面就不行了,有人可以给我分析一下吗?
void pwminitial()//PWM初始化,通道01,23控制电机,通道45控制舵机
{
PWMPOL=0x2A;//通道01,23,45输出波形开始极性为1
PWMCAE=0x00;//左对齐输出模式
PWMCTL=0x70;//通道01,23,45级联
PWMCLK=0x20;//通道45选择SA为时钟源
PWMSCLA=0x04;//通道45时钟SA为3MHz(24/(2*4))
PWMPER01=6000;//设定通道01输出频率(4kHz)
PWMPER23=6000;//设定通道23输出频率(4kHz)
PWMPER45=60000;//设定通道45输出频率(50Hz)
PWME=0x2A;//通道01,23使能
} |
|