void TIM3_PWM_Init(u16 arr,u16 psc) { GPIO_InitTypeDef GPIO_InitStructure; TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef TIM_OCInitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE); GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure);
时间: 2023-06-23 15:09:48 浏览: 212
定时器初始化结构体详解-multirate systems and filter banks - p. vaidyanathan (prentice-hall 1993)(后缀文件丢失,自行添加查看)
这是一个用于初始化 TIM3 的 PWM 输出的函数。具体来说,它会配置 GPIOB 的 Pin 5 为复用功能,并将其配置为 TIM3_CH2 的输出,同时设置 ARR 和 PSC 为传入的参数值。代码中使用了 HAL 库的相关函数。
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE):使能 TIM3 的时钟。
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE):使能 GPIOB 和 AFIO 的时钟。
- GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3, ENABLE):将 TIM3_CH2 映射到 GPIOB Pin 5 上。
- GPIO_InitStructure:GPIO 初始化结构体,配置 Pin 5 为复用功能,推挽输出模式,速度为 50MHz。
- TIM_TimeBaseStructure:TIM 基本定时器初始化结构体,设置 ARR 和 PSC 的值。
- TIM_OCInitStructure:TIM 输出比较初始化结构体,设置 PWM 模式、输出极性、占空比等参数。
阅读全文