单片机学习(三)——PWM学习(主要以cc3200为例)

脉冲宽度调制(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);
    //
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值