当前文档版本为 v0.3.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

pwm_single例程

1 功能概述

本例程是一个演示pwm独立模式输出的简单例程,通过PWM通道2、3、4控制RBG三色灯亮度的过程。

说明:

  1. pwm模块有6个独立通道:PWM_CH0 ~ PWM_CH5。

  2. 本示例用PWM_CH2/3/4来做功能演示,硬件连接如下:

    • ​ P1_2 -> J17 -> PWM_CH2(丝印显示PWM1) –> 蓝色led

    • ​ P3_0 -> J18 -> PWM_CH3(丝印显示PWM2) –> 红色led

    • ​ P3_1 -> J19 -> PWM_CH4(丝印显示PWM3) –> 绿色led

2 环境要求

  • Board: pan2628b1_evb

  • 将 J17 开关拔至丝印PWM1侧,将P1_2与RGB蓝色指示灯控制引脚相连

  • 将 J18 开关拔至丝印PWM2侧,将P3_0与RGB红色指示灯控制引脚相连

  • 将 J19 开关拔至丝印PWM3侧,将P3_1与RGB绿色指示灯控制引脚相连

3 编译和烧录

例程位置:pan2628_dk\01_SDK\example_basic\pwm\pwm_single

打开目录下keil下的pwm_single.uvprojx工程,编译整个代码工程。

4 演示说明

根据环境要求一节的介绍,正确连接 EVB 开发板的跳线,编译、下载代码后:

  1. 观察RBG三色灯工作状态

  2. 预期状态:蓝色led亮1秒 -> 红色亮1秒 -> 绿色亮1秒;以上过程循环。

5 开发说明

通过调用 gpio.c 的PWM_BaseConfig()、PWM_PeriodConfig()、PWM_SingleDutyConfig()、PWM_ChannelEnable()、PWM_Start()函数接口配置GPIO的工作模式。

/** Config pwm to single mode */
PWM_BaseConfig(PWM_ModeSingle, PWM_CLK_DIV1);

/** Config pwm channel2/3/4 period */
PWM_PeriodConfig(PWM_CH2, 1000-1);
PWM_PeriodConfig(PWM_CH3, 1000-1);
PWM_PeriodConfig(PWM_CH4, 1000-1);

/** Config pwm channel2/3/4 duty */
PWM_SingleDutyConfig(PWM_CH2, 299);
PWM_SingleDutyConfig(PWM_CH3, 299);
PWM_SingleDutyConfig(PWM_CH4, 299);

/** Enable pwm channel2/3/4 */
PWM_ChannelEnable(PWM_CH2, ENABLE);
PWM_ChannelEnable(PWM_CH3, ENABLE);
PWM_ChannelEnable(PWM_CH4, ENABLE);

/** Pwm channel2/3/4 start */
PWM_Start(PWM_CH2);
PWM_Start(PWM_CH3);
PWM_Start(PWM_CH4);

6 RAM/Flash资源使用情况

Program Size: data=9.0 xdata=5 const=0 code=1205