中断与串口
前言:
在此感谢百问网黄老师的授课指导。
文章如有不妥之处,望指正!
中断系统
1.中断概念:
2.中断类型:
系统异常(10种)------(/0,地址越界等)
外部中断(60种)
3.中断向量表统称中断。
4.中断优先级
NVIC( Nested Vectored Interrupt Controller)嵌套向量中断控制器
我们可以通过修改NVIC的寄存器来改变优先级。
优先级:抢占优先级(中断嵌套)+子优先级(响应顺序)
优先级数字越小,优先级越高。
负数优先级不可修改。
1.抢占优先级高的中断可以中断抢占优先级低的中断。
2.两个中断的抢占优先级相同,后来的中断要等前面的中断处理完。
3.两个中断的抢占优先级相同,同时产生,子优先级高的先执行。
4.抢占优先级、子优先级相同,同时产生,由中断向量表默认位置决定。
EXTI( External interrupt/event controller)外部中断/事件控制器
GPIO中断----->EXTI----->NVIC
内部中断源----->NVIC进行管理
两种模式:
中断模式:调用我们编程的函数
事件模式:自动,不需要编写
同一组GPIO共享同一中断线。
原则:中断尽量减少操作。
通信
按照数据传输的方式,通信可以分为串行通信和并行通信。
串行传输占用的通信线更少,成本低,通信速度相对较慢。
并行传输占用的通信线多,成本高,通信速度相对更快。
但随着对传输速度要求越来越高,并行传输开始出现信号之间的干扰,串行通信受干扰影响较小,之后又发展出差分传输等技术,极大的提高了串行传输速率,使得串行通信速度可能比并行通信速度更快。
按照数据传输的方向,通信可以分为全双工、半双工和单工。
全双工指双方都可以同时收发信息;(电话----双向同时)
半双工双方都可以收发信息,但同一时刻只能一方发送信息;(对讲机----双向交替)
单工指只能一方发信息,一方接受信息,通信是单向的。(收音机----不可逆)
按数据同步的方式,通信可以分为同步通信和异步通信。
数据在双方之间传输时,需要制定规则保证数据传输的准确。
同步通信的做法是加一个时钟信号,发送方和接收方在这个时钟的节拍下传输数据,比如常见的SPI、 I2C。(通过时钟----周期)
对于同步通信,通信速率由时钟信号决定,时钟信号越快,传输速度就越快。
而异步通信的做法是对数据进行封装,在数据开头加上起始信号,在数据结尾加上终止信号,双方就按这个规则传输数据,比如UART、 1-Wire。(指定同一波特率)
对于异步通信,需要收发双方提前统一通信速率,这也就是我们串口调试时,波特率不对显示乱码的原因。
区分:时钟信号。
串口电平
串口连接和时序