学习目标:中断_串口介绍与编程
4.1什么是中断:
正常情况下,微处理器根据代码内容按顺序执行指令。执行过程中,如果遇到其它紧急的事件需要处理,则先暂停当前任务,执行紧急事件,待紧急事件处理完后,再恢复到刚才暂停的地方继续执行。这个产生的紧急事件就叫做中断或异常。 一般讲内部产生的称为异常,地址越界。外部称为中断。
4.2中断优先级
1.当多个中断发生时,按照一定的优先级处理。
2.可以通过嵌套向量中断控制器(NVIC)修改“可编程”的优先级。
3.优先级=抢占优先级(中断嵌套(”中断”打断”中断”))+子优先级(响应顺序)
1)抢占优先级,值越小,级别越高,可以打断别人的。
2)抢占优先级同,看子优先级,级别高的先执行。
3)抢占优先级与子优先级都同,看中断向量表的默认位置决定。
4.3 GPIO中断:
由外部中断(自定义高)/事件控制器 (自动做下一步,联动的过程,响应速度高)
4.4 串行、并行通信
1.串行:一根线/引脚,每次发一个。
2.并行:几条线/引脚,速度提高时,各个数据发送时也会互相干扰。
4.5全双工/半双工/单工传输
- 全双工:双向同时收发信息,在线通话。
- 半双工:双向交替发送信息,对讲机。
- 单工:广播
4.6同步/异步通信
按数据同步的方式,通信可以分为同步通信和异步通信。数据在双方之间传输时,需要制定规则保证数据传输的准确。
- 同步:以一个时钟周期,有时钟线,发送方和接收方在这个时钟的节拍下传输数据。
- 异步:需要收发双方提前统一通信速率,这也就是我们串口调试时,波特率不对显示乱码的原因
4.7串口
- 串口传输中的一些概念如下:
1)波特率:一般选波特率都会有9600,19200,115200等选项。其实意思就是每秒传输这么多个比特位数(bit);
2)起始位:先发出一个逻辑”0”的信号,表示传输数据的开始;
3)数据位:可以是5~8位逻辑”0”或”1”,先传输bit 0,在传输bit 1,依次类推;
4)校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。校验位是可选的,可以不传输;
5)停止位:它是一个字符数据的结束标志,数据线变回逻辑”1”; - 常见用途:
1)通信接口,与其他开发板进行连接。
2)作为调试串口,打印程序运行的状态信息。
3.)通过电平转换芯片变为RS232/RS485电平,连接工控设备。