📄 stm32f10x_pwm.cpp
字号:
#include"stm32f10x_rcc.h"
#include"stm32f10x_gpio.h"
//-----------------------------------------------------------------------------
#include"stm32f10x_pwm.hpp"
//-----------------------------------------------------------------------------
void PWM_Configuration(void)
{
RCC_APB1ENR_BITS[TIMER_3_EN]=1;
RCC_APB2ENR_BITS[GPIOB_EN] =1;
//相应引脚配置
{ //复用功能(推挽)输出模式
GPIOB_CRL_BITS[CNF0_1] =1;
GPIOB_CRL_BITS[CNF0_0] =0;
//最大速度50MHz
GPIOB_CRL_BITS[MODE0_1]=1;
GPIOB_CRL_BITS[MODE0_0]=1;
}
{ //TIM_TimeBaseInit
TIMER3_ARR=64000;
TIMER3_EGR_BITS[UG]=1;
}
{ //TIM_OC3Init
TIMER3_CCR3=(TIMER3_ARR>>1);
TIMER3_CCMR2_BITS[OC3M_2]=1;
TIMER3_CCMR2_BITS[OC3M_1]=1;
TIMER3_CCMR2_BITS[OC3M_0]=0;
TIMER3_CCER_BITS[CC3P]=1;
TIMER3_CCER_BITS[CC3E]=1;
}
}
//-----------------------------------------------------------------------------
void PWM_Set_Period(unsigned int Period)
{
{ //TIM_TimeBaseInit
TIMER3_ARR=Period;
TIMER3_EGR_BITS[UG]=1;
}
{ //TIM_OC3Init
TIMER3_CCR3=(TIMER3_ARR>>1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -