1.什么是中断
当一个任务正在执行,更紧急的任务下达,那么我们要实行中断,让更紧急的任务先执行,完毕后再执行原来的任务
一共设计了256种中断,STM32有70多种
为了处理终端芯片设计了Nested Vectored Interrupt Controller(NVIC)嵌套向量中断控制器
优先级由占优先级与子优先级组成,抢占优先级决定是否可以产生中断嵌套,子优先级决定响应的顺序
(1)抢占优先级高的中断可以中断抢占优先级低的中断
(2)两个中断的抢占优先级相同,后来中断要等前面的中断处理完
(3)两个中断的抢占优先级相同,同时产生,子优先级高的先执行
(4)抢占优先级、子优先级相同,同时产生,由中断向量表默认位置决定
在单片机中NVIC前面还有一个EXTI,用来分配事件中断和GPIO中断。AFIO用来分配先执行GPIO哪个中断,并且有些GPIO引脚多余中断配套的引脚就需要几个GPIO共用一个引脚
2. 串口通信
串行通信
并行通信
全双工、半双工、单工传输
同步/异步通信
异步通信:要求保证波特率相同或对数据进行封装,在数据的开头加上起始信号在数据的结尾加上终止信号
同步通信:加上一个时钟信号,发送双方在这个时钟节拍下传送数据(SPI or I2C)
串口电平:
在不同环境下实行不同电平信号:TTL电平距离几厘米,R232/RS422/RS485电平几十米
串口连接TxD连接RxD
先定一个波特率然后传输起始位,数据位,校验位,停止位