学习目的:掌握中断系统、串口、外部中断。
一、中断优先级管理NVIC
1、中断优先级分组
2、中断管理
3、抢占优先级和响应优先级
注:在设置中断优先级分组时只会出现一次
4、中断优先级分组函数
5、中断优先级设置相关寄存器
6、MDK中NVIC寄存器结构体
7、NVIC_Init函数
8、步骤总结
先通过中断优先级分组函数设置抢占优先级和响应优先级的分组,然后通过NVIC_Init函数设置优先级并使能。
二、串口通信原理
1、并行通信与串行通信
2、串行通信
<1>分类
(1)单工:只支持数据单方向传输。
(2)半双工:允许数据双向传输,但同一时刻数据只能往一个方向传输,即方向可改变的单工通信。
(3)全双工:允许数据同时在两个方向上传输。
<2>通信方式–同步通信和异步通信
注:异步通信需要事先的约定(波特率)
<3>UART和USART
<4>UART异步通信方式引脚连接方法
<5>参数
<6>USART框图
三、串口寄存器、库函数配置方法
1、相关寄存器
2、USART_SR寄存器
3、USART_DR寄存器
4、USART_BRR寄存器
注:另外详见中文参考手册542页
5、波特率计算方法
6、相关库函数
7、串口配置步骤
8、操作演示
(1)IO口的初始化
(2)串口的初始化
(3)开启中断并初始化NVIC
(4)编写中断函数并完善main函数。
(5)结果显示
四、EXTI外部中断
1、概述
2、外部IO通用映像
注:在有相同的外部中断情况下,同一时间只能有一个IO映射相应的外部中断
3、中断服务函数只有7个
4、常用库函数
5、EXTI_Init函数
6、基本步骤
7、实验代码
8、实验现象