1.什么是UART协议
UART使用的是异步模式工作,不需要额外的时钟信号,其一般格式为:起始位+数据位+校验位+停止位。其中起始位1位,数据位5-8位,校验位0位或1位,停止位1或2位.
常用的格式是1位起始位、8位数据位、没有寄偶校验位、1位停止位,简记为8/N/1。
空闲装状态下TX\RX规定为逻辑1。开始传输数据时先发送起始位,规定为逻辑0,接收端会检测这个下降沿以便之后开始采样接受数据。起始位之后是数据位,规定先发送最低位,因为串口没有时钟信号,故使用波特率来确定每一位的长度,不过为了保证检测的准确性,实际采样频率会高于波特率,一般每一位会进行若干次采样,取中间采样值作为这一位的结果。奇偶校验位一般不使用。停止位一般使用1位,规定为逻辑1,除了表示传输结束外,停止位还可以起时钟同步的作用。
需要注意的是,这里的逻辑0不一定是0V,这与使用电平标准有关。对TTL电平而言,逻辑0是0V,逻辑1是高电平;对于RS232而言,逻辑0是3-15V,逻辑1是-3—-5V。(TTL电路时电流控制器件,而COMS电路是电压控制器件)
2.波特率
串口波特率:串口通信的速率,也就是串口通信时每秒钟可以传输多少个二进制位。例如,每秒钟可以传输9600个二进制位(传输一个二进制位的时间是1/9600秒)
3.串口数据发送顺序
以发送0x23为例(无奇偶校验)
注意是低位先传输
0X23=0010 0011,所以传输数据为:1100 0100.