【说明】
UART(Universal Asynchronous Receiver/Transmitter)就是串口通讯,全称“异步接收发送器”,我们前面已经提到,我们利用secureCRT来显示开发板发送过来的串口数据,这一节我们就来看看,在开发板上到底是怎么控制串口的,也就是说,如果我们要自己写程序从开发板发送或者接收数据,要怎么做。
【协议】
1)起始位:先发出一个逻辑"0"的信号,表示传输字符的开始
2)数据位:个数可以是4,5,6,7,8等,构成一个字符,通常采用ASCII码,从最低位开始传输,靠时钟来定位
3)奇偶校验位:数据位加上这一位后,使得"1"的位数应为偶数(偶校验)或者奇数(奇校验),现在一般不用了,因为现在出错率比较低
4)停止位:它是一个字符数据的结束标志,可以是1位,1.5位,2位的高电平(逻辑"1")
5)空闲位:处于逻辑"1"状态,表示当前线路上没有数据的传送
6)波特率:表示为每秒钟传送的二进制位数。
【原理图】
1)在6410中,我们并不需要自己写代码处理那些发送协议,我们只需要初始化UART模块,
然后把需要发送的数据放入某个寄存器,或者从读取某个寄存器,就能实现数据的发送和接收,
硬件会自动发送, 上边2个大大的buffer 就是发送缓存,在后面的中断方式控制UART中,我们就知道它的作用了。