Bootstrap

STM32学习笔记——PWM是输入捕获模

直接分析代码:

/*************************************************************

函数名: PWMInput_GPIO_Init

说明: PWM输入捕获引脚配置

*************************************************************/

#include "misc.h"  //这两个文件是标准库里的,misc.h是NVIC(中断向量嵌套)的外设驱动。STM32 V3.5版本把以前版本中单独对                                   // 于NVIC(中断向量嵌套)的外设驱动放在了misc.c中,代替原来的stm32f10x_nvic.c.
#include "usart1.h"  //串口函数库

static void PWMInput_GPIO_Init(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);//使能GPIOA端口的时钟

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; //TIM2 PA1 配置

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOA, &GPIO_InitStructure);

}


/*************************************************************

函数名: PWMInput_TIM2_Init

说明:TIM2的PWM输入捕获的初始化

*************************************************************/

static void PWMInput_TIM2_Init(void)

{

//先是计时器设置

TIM_ICInitTypeDef TIM_ICInitStructure;

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);//使能TIM2时钟,TIM2~TIM7都挂在APB1

TIM_TimeBaseStructure.TIM_Period = 0xFFFF;//ARR:0~FFFF(0~65535)计数值(一个计数周期用多少个计数器时钟周期)

TIM_TimeBaseStructure.TIM_Prescaler = 0;//TIMx时钟频率分频的分频值࿰

;