TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2541PWM输出问题

源代码:void PWM_init(uint16  arr){
    RGB_Callback(&PWM_DateCBs);//函数注册
    P0DIR= BV(3)|BV(4)|BV(5);
 //设置pwm端口为外设端口,非gpio
    P0SEL= BV(3)|BV(4)|BV(5);
    PERCFG &=~(1<<6);  //定时器1在备用位置1
    PERCFG |= (3<<0); //将UART切换到备用位置2,防止占用PWM输出    T1CTL &=0;    T1CNTL&=0;
    T1CNTH&=0;
    T1CC0L = arr%0xFF;
    T1CC0H = arr/0xFF;
    //ch1
    T1CC1L = 200%0xFF;
    T1CC1H = 200/0xFF;
    T1CCTL1|= 0x2C;     //ch2
    T1CC2L = 500%0xFF;
    T1CC2H = 500/0xFF;
    T1CCTL2|= 0x2C;    //ch3
    T1CC3L = 600%0xFF;
    T1CC3H = 600/0xFF;
    T1CCTL3|= 0x2C;    //star tiner1
//必须设置以下两句,否则定时器不工作, 但是我们这里只用pwm, 因此可以直接用pwm的中断, 不用t1的定时器中断, 因此不用设置
    T1CCTL0|= 0x2C;            // IM = 1, CMP = Clear output on compare; Mode = Compare
    T1CTL|= 0x02;
}

波形图:

为啥会出现这样的波形????

Viki Shi:

推荐参考协议栈里的例程,sensorTag 及keyfob都有相关功能实现

赞(0)
未经允许不得转载:TI中文支持网 » CC2541PWM输出问题
分享到: 更多 (0)