智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1908|回复: 0
打印 上一主题 下一主题

XS128控制器中8路PWM初始化占空比设置完全相同但只有0123这思路有输出而4567没有使出

[复制链接]

1

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
87
威望
56
贡献
21
兑换币
22
注册时间
2013-7-26
在线时间
6 小时
毕业学校
哈尔滨工程大学
跳转到指定楼层
1#
发表于 2013-8-6 16:27:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我是初学者不太明白,是芯片坏了还是程序的问题???
  1. /* PWME   = 0x00;//PWM启动寄存器,禁止8个PWM通道输出  
  2.   PWMCTL = 0x00;//0Xf0=1111 0000=通道0-1,4-5,2-3,6-7级联;0X00=0000 0000=不级联  
  3.   PWMCLK = 0xff;//PWM时钟选择寄存器:其中0、1、4、5通道可选用ClockA或ClockSA时钟源;2、3、6、7通道可选用ClockB或ClockSB
  4.        //0Xff=1111 1111;2467时钟源选择为SA,0145时钟源选择为SB  
  5.   PWMPRCLK=0x00;//时钟预分频寄存器:0-2位是对ClockA进行预分频,4-6位是对ClockB进行预分频;0x00表示ClockA=ClockB=总线频率40MHz
  6.         //通过设置PWMRCLK的值ClockA=Fbus÷2的PCKA次方 ClockB=Fbus÷2的PCKb次方
  7.   PWMSCLA =0x0a;//ClockSA比例因子:ClockSA=ClockA(40MHz)/(2*PWMSCLA)=2MHz    可以通过此值来得出时钟SA的频率
  8.   PWMSCLB =0x0a;//ClockSB比例因子:ClockSB=ClockB(40MHz)/(2*PWMSCLB)=2MHz    可以通过此值来得出时钟SA的频率
  9.                  //分别知道了SA  SB 的时钟周期
  10.   PWMPOL = 0xff;//输出波形开始极性为高电平; 1=每个周期起始为高电平;0=起始为低电平
  11.   PWMCAE = 0x00;//对齐方式:1=居中对齐;0=左边对齐
  12.   
  13.   PWMPER0=150;//设定输出周期=通道时钟周期*40000=(1/2MHz)*40000=0.02s=20ms //舵机周期=20ms,频率=50HZ:舵机为Futaba S3010型号
  14.   PWMDTY0=140;//占空比=[(PWMDTY0+1)/(PWMPER0+1)]*100%
  15.    
  16.   PWMPER1=150;//设定输出周期=通道时钟周期*PWMPER23;驱动电机=1KHZ   
  17.   PWMDTY1=140;//占空比=[(PWMDTY23+1)/(PWMPER23+1)]*100%
  18.   
  19.   PWMPER2=150;
  20.   PWMDTY2=150;  
  21.   
  22.   PWMPER3=150;
  23.   PWMDTY3=140;
  24.   
  25.   PWMPER4=150;
  26.   PWMDTY4=140;
  27.   
  28.   PWMPER5=150;
  29.   PWMDTY5=140;
  30.   
  31.   PWMPER6=150;
  32.   PWMDTY6=140;
  33.   
  34.   PWMPER7=150;
  35.   PWMDTY7=140;
  36.   
  37.   PWME=0xff;  */  //PWM输出使能
  38.   PWME   = 0x00;//PWM启动寄存器,禁止8个PWM通道输出  
  39.   PWMCTL = 0xf0;//0Xf0=1111 0000=通道0-1,4-5,2-3,6-7级联;0X00=0000 0000=不级联  
  40.   PWMCLK = 0xAA;//PWM时钟选择寄存器:其中0、1、4、5通道可选用ClockA或ClockSA时钟源;2、3、6、7通道可选用ClockB或ClockSB
  41.        //0XAA=1010 1010;PWM1,PWM3,PWM5,PWM7时钟源选择为SA或SB,当级联后时钟源同样为SA或SB   
  42.   PWMPRCLK=0x00;//时钟预分频寄存器:0-2位是对ClockA进行预分频,0-6位是对ClockB进行预分频;0x00表示ClockA=ClockB=总线频率40MHz
  43.   PWMSCLA =0x0a;//ClockSA比例因子:ClockSA=ClockA(40MHz)/(2*PWMSCLA)=2MHz
  44.   PWMSCLB =0x0a;//ClockSB比例因子:ClockSB=ClockA(40MHz)/(2*PWMSCLB)=2MHz
  45.   PWMPOL = 0xff;//输出波形开始极性为高电平; 1=每个周期起始为高电平;0=起始为低电平
  46.   PWMCAE = 0x00;//对齐方式:1=居中对齐;0=左边对齐
  47.   PWMPER45=40000;//设定输出周期=通道时钟周期*40000=(1/2MHz)*40000=0.02s=20ms //舵机周期=20ms,频率=50HZ:舵机为Futaba S3010型号
  48.   PWMPER23=4000;//设定输出周期=通道时钟周期*PWMPER23;驱动电机=1KHZ   
  49.   PWMDTY23=4000;//占空比=[(PWMDTY23+1)/(PWMPER23+1)]*100%
  50.   PWMPER01=4000;
  51.   PWMDTY01=3000;  
  52.   PWMPER67=4000;
  53.   PWMDTY67=2000;
  54.   PWME=0xff;    //PWM输出使能
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-6-18 17:47 , Processed in 0.063517 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表