CC2640 怎么设置3路PWM
我看手册上写的,好像可以支持3路PWM,但是我看例程,只有两路PWM的设置。第三路该如何设置啊?
// To be implemented.
pinHandle = PIN_open(&pinState, pwmExamplePins);
//PIN_registerIntCb(pinHandle, pinCallBack);
PINCC26XX_setMux(pinHandle, GPIO_LED_BLUE, IOC_PORT_MCU_PORT_EVENT0);
PINCC26XX_setMux(pinHandle, GPIO_LED_RED, IOC_PORT_MCU_PORT_EVENT1);
Power_setDependency(PERIPH_GPT0);
TimerConfigure(GPT0_BASE, TIMER_CFG_SPLIT_PAIR|TIMER_CFG_A_PWM|TIMER_CFG_B_PWM);
TimerLoadSet(GPT0_BASE, TIMER_BOTH, TIMER_LOADSET);
//TimerMatchSet(GPT0_BASE, TIMER_A, 100);
TimerLevelControl(GPT0_BASE, TIMER_BOTH,true);
这是我控制两路灯的代码,目前可以实现PWM控制。但是我还需要一路来控制蜂鸣器,请问怎么才能再设置出一路PWM?
ye,
每个timer有A和B两路输出,所以每个timer只有两路PWM可以输出。
但是总共有4个timer,0~3, 所以总共有8路PWM可以输出。
你要第三个的话就加TImer 1 呗,我依样画葫芦的代码,你可以试试,应该能用:
PINCC26XX_setMux(pinHandle, PIN_ID(Board_LED3), IOC_PORT_MCU_PORT_EVENT2);
Power_setDependency(PERIPH_GPT1);
TimerConfigure(GPT1_BASE, TIMER_CFG_SPLIT_PAIR|TIMER_CFG_A_PWM);
TimerLoadSet(GPT1_BASE, TIMER_A, TIMER_LOADSET);
TimerLevelControl(GPT1_BASE, TIMER_A,true);
好的,非常的感谢,原来修改GPT1_BASE就可以了。我懂了。