微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2640 怎么设置3路PWM

CC2640 怎么设置3路PWM

时间:10-02 整理:3721RD 点击:

我看手册上写的,好像可以支持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就可以了。我懂了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top