功能:通过串口发送数据给上位机(定时)
涉及知识:串口通信、定时器、中断
参考资料:
https://blog.csdn.net/weixin_49079904/article/details/127517855?spm=1001.2014.3001.5502
https://blog.csdn.net/weixin_49079904/article/details/127577210?spm=1001.2014.3001.5502
https://blog.csdn.net/weixin_49079904/article/details/127614041?spm=1001.2014.3001.5502
这几篇看明白了应该问题不大(就是在这个基础上改的)
步骤:
1、一些初始化
2、使能 GPIO USART 定时器 中断 定时器中断
3、外设 引脚重映射
4、初始化 USART
5、初始化 串口设置
6、初始化 定时器
7、配置中断分组NVIC
8、编写中断服务程序
GPIO_InitTypeDef GPIO_InitStructure;//GPIOA
USART_InitTypeDef Usart_InitStructure;//USART
NVIC_InitTypeDef NVIC_InitStructure;//NVIC
TIM_TimeBaseInitTypeDef TIM_InitStructure;//TIM3
//使能定时器 及 外设时钟GPIOA
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);//使能 外设时钟GPIOA
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);//使能 USART1
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);//使能 定时器时钟TIM3
//设置TIM3_DIER允许更新中断
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);//参数2:指明使能的定时器中断类型 更新(该项目为更新)、触发、输入捕获
//PA9引脚重映射
GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1);
//USART 初始化 仅需设置前两个参数即可,后面三个均为默认
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_InitStructure.GPIO_Speed = GPIO_Low_Speed;
GPIO_Init(GPIOA , &GPIO_InitStr