📄 pwm.c
字号:
/****************************************************************************
* 文件名:PWM.C
* 功能:使用PWM6输出PWM信号
****************************************************************************/
#include "config.h"
extern void DelayMS( uint32 dly ) ;
/* PWM周期及占空比设置值 */
//#define CYCLE_DATA 2000
//#define DUTY_CYCLE_DATA 1000
/****************************************************************************
* 名称:PWM6_Beep( U32 CYCLE_DATA, U32 DUTY_CYCLE_DATA )
* 功能:使用PWM6输出占空比可调的PWM波形。
****************************************************************************/
void PWM6_Beep( U32 CYCLE_DATA , U32 DUTY_CYCLE_DATA )
{
PINSEL0 = 0x00080000; // 设置PWM6连接到P0.9管脚
PWMPR = 0x00; // 不分频,计数频率为Fpclk
PWMMCR = 0x02; // 设置PWMMR0匹配时复位PWMTC
PWMMR0 = CYCLE_DATA; // 设置PWM周期
PWMMR6 = DUTY_CYCLE_DATA; // 设置PWM占空比
PWMLER = 0x41; // PWMMR0、PWMMR6锁存
PWMPCR = 0x4000; // 允许PWM6输出,单边PWM
PWMTCR = 0x09; // 启动定时器,PWM使能
}
/****************************************************************************
* 名称:PWM5_Beep( U32 CYCLE_DATA, U32 DUTY_CYCLE_DATA )
* 功能:使用PWM5输出占空比可调的PWM波形。
****************************************************************************/
void PWM5_Beep( U32 CYCLE_DATA , U32 DUTY_CYCLE_DATA )
{
PWMPR = 0x00; // 不分频,计数频率为Fpclk
PWMMCR = 0x02; // 设置PWMMR0匹配时复位PWMTC
PWMMR0 = CYCLE_DATA; // 设置PWM周期
PWMMR5 = DUTY_CYCLE_DATA; // 设置PWM占空比
PWMLER = 0x21; // PWMMR0、PWMMR6锁存
PWMPCR = 0x2000; // 允许PWM6输出,单边PWM
PWMTCR = 0x09; // 启动定时器,PWM使能
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -