一.NVIC中断
1.STM32中断介绍
STM32F103的60个中断都包括哪些呢,可以参考《STM32中文参考手册》 9.1.2小节表55。如图所示:
2.中断优先级分组
STM32中断总共有0~4共5个组,通过SCB->AIRCR寄存器进行配置。如图所示:
然后在设置相应的抢占优先级和响应优先级。
3.抢占优先级和响应优先级的区别:
抢占优先级为0的高于抢占优先级为1的,抢占优先级0>1>2>3>4。 响应优先级同理。
4. 中断函数
4.1 中断分组函数:
入口参数还可以选择如下:
4.2 中断优先级设置相关寄存器
4.2.1 中断设置相关寄存器:
4.2.2 IP寄存器组
4.2.3 中断使能寄存器组 ISER[8]
4.2.4 中断失能寄存器组 ICER[8]
4.2.5 中断挂起/解挂控制寄存器组ISPR[8],ICPR[8]
4.2.6 中断激活标志位寄存器组IABR[8]
4.3 中断参数初始化函数:
5.NVIC总结
注意:(1) NVIC_Init()函数在misc.h文件中定义的。 (2) NVIC_Init()函数中的NVIC_IRQChannel参数在stm32f10x.h文件中。 (3) 中断服务函数在startup_stm32f10x_hd.s文件中。
二.串口实验
参考《STM32F1开发指南-库函数版本》5.3 usart串口文件夹介绍和第九章串口实验
《STM32中文参考手册》第25章 通用同步异步收发器
1. 通信知识
1.1 通信的方式
(1)并行通信 (2)串行通信
同步通信通过时钟CLK进行同步信号传输,而异步通信不带时钟同步信号,靠波特率进行互相约定。
1.2 STM32的串口通信基础
1.3 如何查找串口引脚呢
参考芯片数据手册
1.4 UART异步通信的特点
1.5 串口通信的过程
奇偶校验:奇偶校验就是指每次发送接收的每一帧数据加上校验码之后1的个数是奇数还是偶数。 奇偶校验参考链接 奇偶校验参考链接
1.6 串口框图
参考《STM32中文参考手册》第25章 通用同步异步收发器
2. STM32 串口常用寄存器和库函数
2.1 常用的寄存器 - 参考STM32中文参考手册 25.6小节
2.2 串口常用的库函数
串口初始化函数
串口初始化的结构体:
3.串口配置的步骤:
按照上面的串口配置步骤,编写相应的代码。
4. 串口通信结果
|