高级会员
- 积分
- 708
- 威望
- 431
- 贡献
- 219
- 兑换币
- 6
- 注册时间
- 2011-11-26
- 在线时间
- 29 小时
|
有个问题想请教下,在下面这段代码里,
01级联用时钟A=18M,按理说应产生18M/40000的频率的PWM波??可是注释里却说“摆头舵机频率为300HZ SB ”??为什么呢?
另外27655/40000= 0.691,也不是 PWMDIYX+1)/(PWMPERX+1)*100%=46.09% 啊??
oid PWM_init(void)
{
/*总线周期设为36M*/
PWME=0X00; /*禁止PWM输出*/
PWMPOL=0XFF; /*PWM输出起始为高电平,计数完毕输出为低电平*/
PWMCAE=0X00; /*左对齐方式*/
PWMCTL=0X30; /*通道级联,冻结、等待模式允许计数,01,23,4,5,6,7*/ //???是0x03吧
PWMPRCLK=0X31; // A2分频=18MHZ , B8分频=4.5MHZ
PWMCLK=0X70; /*时钟7、6、5、4、32、10选择依次为B、SB、SA、SA、BB、AA*/
PWMSCLA=0X04; /*通道SA为A/8分频=2.25MHZ*/
PWMSCLB=0X5a; /*通道SB为B/180分频=25KHZ*/
PWMPER01=40000; /*占空比为【(PWMDIYX+1)/(PWMPERX+1)*100%=46.09% 对应DTY=27655,占空比46.09%在无转角*/
PWMDTY01=27655; /*摆头舵机频率为300HZ SB 左极限DTY=38000.右极限DTY=17310 调速时以100为单位*/
//???01级联用时钟A=18M,按理说应产生18M/40000的频率的PWM波??另外27655/40000= 0.691,也不对啊??
PWMPER23=45000; /*占空比为【(PWMDIYX+1)/(PWMPERX+1)*100%=13.96对应DTY=6280,占空比在13.96%无转角,*/
PWMDTY23=6280; //轮胎舵机频率为100HZ SA 左极限DTY=6950?右极限DTY=5550 调速时以100为单位*/
PWMPER4=225; //电机输出频率为10K的驱动信号 正转 SB
PWMDTY4=0;
PWMPER5=225; //电机输出频率为10K的驱动信号 反转
PWMDTY5=95;
PWMPER6=250; //刹车舵机100HZ
PWMDTY6=125;
PWMPER7=24; //激光管187.5k
PWMDTY7=13; //占空比12/24=%50
PWME=0XFF;
} |
|