脉冲宽度调制(PWM)是英文 Pulse WidthModulation 的缩写,是利用微控制器的数字输出,来对模拟电路进行控制的一种非常有效的技术。使用高分辨率计数器产生一个方波,方波的占空比被调制成一个模拟信号的编码。
cc3200的例程PWM是呼吸灯,通过调节方波的占空比改变灯泡的亮度,从而实现呼吸灯的效果,下面是主函数:
void main()
{
int iLoopCnt;
BoardInit();
PinMuxConfig();
//
// Initialize the PWMs used for driving the LEDs
//
InitPWMModules();
while(1)
{
for(iLoopCnt = 0; iLoopCnt < 255; iLoopCnt++)
{
UpdateDutyCycle(TIMERA2_BASE, TIMER_B, iLoopCnt);
UpdateDutyCycle(TIMERA3_BASE, TIMER_B, iLoopCnt);
UpdateDutyCycle(TIMERA3_BASE, TIMER_A, iLoopCnt);
MAP_UtilsDelay(800000);//延时子程序(短暂延时)
}
}
}
在主函数中需要使用到的主要函数有:PinMuxConfig(void){ }该函数是用来配置PWM引脚的
void
PinMuxConfig(void)
{
MAP_PRCMPeripheralClkEnable(PRCM_TIMERA2, PRCM_RUN_MODE_CLK);
//