📄 pwm.h
字号:
#ifndef _PWM_H
#define _PWM_H
/*---------------------PWM相关定义----------------------*/
//* 通道预分频定义
#define PWM_CPRE_MCK 0 // MCK
#define PWM_CPRE_MCK2 1 // MCK/2
#define PWM_CPRE_MCK4 2 // MCK/4
#define PWM_CPRE_MCK8 3 // MCK/8
#define PWM_CPRE_MCK16 4 // MCK/16
#define PWM_CPRE_MCK32 5 // MCK/32
#define PWM_CPRE_MCK64 6 // MCK/64
#define PWM_CPRE_MCK128 7 // MCK/128
#define PWM_CPRE_MCK256 8 // MCK/256
#define PWM_CPRE_MCK512 9 // MCK/512
#define PWM_CPRE_MCK1024 10 // MCK/1024
#define PWM_CPRE_CLHA 11 // CLHA
#define PWM_CPRE_CLHB 12 // CLHB
//* 通道对齐
#define PWM_CALG_LEFT 0<<8 // 周期左对齐
#define PWM_CALG_CENTER 1<<8 // 周期中间对齐
//* 通道极性
#define PWM_CPOL_LOW 0<<9 // 输出波形在低电平启动
#define PWM_CPOL_HIGH 1<<9 // 输出波形在高电平启动
//* 通道更新周期
#define PWM_CPD_PERIOD 1<<10 // 在下个周期开始时更新周期
#define PWM_CPD_DUTY 0<<10 // 在下个周期开始时更新占空比
#define MCK 48054857 // MCK (PLLRC div by 2)
#define FREQUENCY 47920
#define PWM_PERIOD_VALUE (MCK/(1*FREQUENCY)) // PWM 周期设定为10KHZ
#define PWM_DUTY_NOMAL PWM_PERIOD_VALUE*0.75 // 正常转速下的占空比
#define PWM_DUTY_SLOW PWM_PERIOD_VALUE*0.55 // 转速偏慢的占空比
#define PWM_DUTY_HURRY PWM_PERIOD_VALUE*0.99 // 转速增快的占空比
#define PWM0 0
#define PWM1 1
void TaskPwm(void *p_arg);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -