注册会员
- 积分
- 87
- 威望
- 56
- 贡献
- 21
- 兑换币
- 22
- 注册时间
- 2013-7-26
- 在线时间
- 6 小时
- 毕业学校
- 哈尔滨工程大学
|
我是初学者不太明白,是芯片坏了还是程序的问题???- /* PWME = 0x00;//PWM启动寄存器,禁止8个PWM通道输出
- PWMCTL = 0x00;//0Xf0=1111 0000=通道0-1,4-5,2-3,6-7级联;0X00=0000 0000=不级联
- PWMCLK = 0xff;//PWM时钟选择寄存器:其中0、1、4、5通道可选用ClockA或ClockSA时钟源;2、3、6、7通道可选用ClockB或ClockSB
- //0Xff=1111 1111;2467时钟源选择为SA,0145时钟源选择为SB
- PWMPRCLK=0x00;//时钟预分频寄存器:0-2位是对ClockA进行预分频,4-6位是对ClockB进行预分频;0x00表示ClockA=ClockB=总线频率40MHz
- //通过设置PWMRCLK的值ClockA=Fbus÷2的PCKA次方 ClockB=Fbus÷2的PCKb次方
- PWMSCLA =0x0a;//ClockSA比例因子:ClockSA=ClockA(40MHz)/(2*PWMSCLA)=2MHz 可以通过此值来得出时钟SA的频率
- PWMSCLB =0x0a;//ClockSB比例因子:ClockSB=ClockB(40MHz)/(2*PWMSCLB)=2MHz 可以通过此值来得出时钟SA的频率
- //分别知道了SA SB 的时钟周期
- PWMPOL = 0xff;//输出波形开始极性为高电平; 1=每个周期起始为高电平;0=起始为低电平
- PWMCAE = 0x00;//对齐方式:1=居中对齐;0=左边对齐
-
- PWMPER0=150;//设定输出周期=通道时钟周期*40000=(1/2MHz)*40000=0.02s=20ms //舵机周期=20ms,频率=50HZ:舵机为Futaba S3010型号
- PWMDTY0=140;//占空比=[(PWMDTY0+1)/(PWMPER0+1)]*100%
-
- PWMPER1=150;//设定输出周期=通道时钟周期*PWMPER23;驱动电机=1KHZ
- PWMDTY1=140;//占空比=[(PWMDTY23+1)/(PWMPER23+1)]*100%
-
- PWMPER2=150;
- PWMDTY2=150;
-
- PWMPER3=150;
- PWMDTY3=140;
-
- PWMPER4=150;
- PWMDTY4=140;
-
- PWMPER5=150;
- PWMDTY5=140;
-
- PWMPER6=150;
- PWMDTY6=140;
-
- PWMPER7=150;
- PWMDTY7=140;
-
- PWME=0xff; */ //PWM输出使能
- PWME = 0x00;//PWM启动寄存器,禁止8个PWM通道输出
- PWMCTL = 0xf0;//0Xf0=1111 0000=通道0-1,4-5,2-3,6-7级联;0X00=0000 0000=不级联
- PWMCLK = 0xAA;//PWM时钟选择寄存器:其中0、1、4、5通道可选用ClockA或ClockSA时钟源;2、3、6、7通道可选用ClockB或ClockSB
- //0XAA=1010 1010;PWM1,PWM3,PWM5,PWM7时钟源选择为SA或SB,当级联后时钟源同样为SA或SB
- PWMPRCLK=0x00;//时钟预分频寄存器:0-2位是对ClockA进行预分频,0-6位是对ClockB进行预分频;0x00表示ClockA=ClockB=总线频率40MHz
- PWMSCLA =0x0a;//ClockSA比例因子:ClockSA=ClockA(40MHz)/(2*PWMSCLA)=2MHz
- PWMSCLB =0x0a;//ClockSB比例因子:ClockSB=ClockA(40MHz)/(2*PWMSCLB)=2MHz
- PWMPOL = 0xff;//输出波形开始极性为高电平; 1=每个周期起始为高电平;0=起始为低电平
- PWMCAE = 0x00;//对齐方式:1=居中对齐;0=左边对齐
- PWMPER45=40000;//设定输出周期=通道时钟周期*40000=(1/2MHz)*40000=0.02s=20ms //舵机周期=20ms,频率=50HZ:舵机为Futaba S3010型号
- PWMPER23=4000;//设定输出周期=通道时钟周期*PWMPER23;驱动电机=1KHZ
- PWMDTY23=4000;//占空比=[(PWMDTY23+1)/(PWMPER23+1)]*100%
- PWMPER01=4000;
- PWMDTY01=3000;
- PWMPER67=4000;
- PWMDTY67=2000;
- PWME=0xff; //PWM输出使能
复制代码 |
|