PWM配置流程 1.理解电路原理图 TIM14_CH1(TIM14 – APB1 16位 84MHZ) LED0连接在PF9,低电平灯亮;高电平,灯灭 2.使能定时器14和相关IO口时钟。 使能定时器14时钟:RCC_APB1PeriphClockCmd(); 使能GPIOF时钟:RCC_AHB1PeriphClockCmd (); 3.初始化IO口为复用功能输出。 GPIO_Init(); 4.GPIOF9复用映射到定时器14 GPIO_PinAFConfig(GPIOF,GPIO_PinSource9,GPIO_AF_TIM14); 5.初始化定时器:ARR,PSC等: TIM_TimeBaseInit(); 6.初始化输出比较参数: TIM_OC1Init(); 7.使能预装载寄存器: TIM_OC1PreloadConfig(TIM14, TIM_OCPreload_Enable); 8.使能自动重装载的预装载寄存器允许位 TIM_ARRPreloadConfig(TIM14,ENABLE); 9.使能定时器。 10.不断改变比较值CCRx,达到不同的占空比效果: TIM_SetCompare1();
串口配置流程 1.理解电路原理图 PA9 ---- USART1_TX PA10 ---- USART1_RX 2、 串口时钟使能,GPIO 时钟使能。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA , ENABLE); 3、设置引脚复用器映射:调用 GPIO_PinAFConfig 函数。 GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1); 4、GPIO 初始化设置:要设置模式为复用功能。 GPIO_Init(GPIOA,&GPIO_InitStruct); 5、串口参数初始化:设置波特率,字长,奇偶校验等参数。 USART_Init(USART1,&USART_InitStruct); 6、开启中断并且初始化 NVIC,使能中断(如果需要开启串口中断才需要这个步骤)。NVIC_Init(&NVIC_InitStruct); 7、设置 允许接收数据中断 USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); 8、 使能串口。 USART_Cmd( USART1, ENABLE); 9、编写中断处理函数:函数名格式为 USARTx_IRQHandler(x 对应串口号)。 10、接收数据 uint16_t USART_ReceiveData(USART_TypeDef* USARTx); 11、发送数据函数 void USART_SendData(USART_TypeDef* USARTx, uint16_t Data);
|