stm32f10x_pwm.cpp

来自「STM32 USB HID」· C++ 代码 · 共 48 行

CPP
48
字号
#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 + =
减小字号Ctrl + -
显示快捷键?