STM32-PWM与串口通信流程

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);

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值