CC2530通过输出比较模式是可以生成PWM的,我买了个模拟舵机,网上查资料知要不断发送PWM才能保持。问题是不管我怎么修改占空比总是位置不变,而且转得很慢。
以下是代码:
CLKCONCMD &= ~0x40; //设置系统时钟源为32MHZ晶振1011 1111
while(CLKCONSTA & 0x40); //等待晶振稳定
CLKCONCMD &= ~0x07; //设置系统主时钟频率为32MHZ
CLKCONCMD|=0x08; //00 001 000定时器最高频率16Mhz
T1CNTH=0;
T1CNTL=0;
//P2SEL&=~0x10;
P2DIR=(P2DIR&~0xc0)|0x80;//1000 0000
T1CTL|=0x04;//8分频,暂停计数 0000 01 00
PERCFG=0x00;//定时器1默认位置1**
P0DIR|=0x08;//输出模式 0000 1000**
P0SEL|=0x08;//外设模式**
T1CCTL1=0x1c;//00 011 100 比较模式3,**
T1CC1L=3000%256;//**
T1CC1H=3000/256;//**
IEN1|=0x02;
T1CC0L = 40000%256;
T1CC0H = 40000/256;
我已经确定过能生成PWM了,之前把时钟频率调到250KHz然后用灯来观察,疫情在家没有示波器只能这样了。成功生成PWM了,那就修改时钟频率,修改周期和通道比较值,然后一直得不到满意的结果。
打算另外买几个舵机试试去。
已退回5积分