串口通讯协议
2017-03-15 21:16
176 查看
关键词解释:
波特率:每秒传送的BIT位数。说到底只是每位电平持续的时间,波特率越高,持续的时间越短。如波特
率为9600bps,即每一位传送时间为1000ms/9600=0.104ms,即位与位之间的延时为0.104毫秒。
如图:
![](https://img-blog.csdn.net/20170315211642429?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY3Jhenlfa29hbGE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
在空闲时,正电平逻辑通讯总线上基本都是被拉高的,即处于高电平。
UART是通用异步收发器的意思使用的就是串行通信接口:
![](https://img-blog.csdn.net/20170315211729024?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY3Jhenlfa29hbGE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
起始位:先发出一个逻辑”0”信号,表示传输字符的开始。
数据位:可以是5~8位逻辑”0”或”1”。如ASCII码(7位),扩展BCD码(8位)。小端传输
校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验)
停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。
空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。
所以两边要通过串口通讯,需要规定同样的数据位数,停止位数,是否有校验位,同样的波特率,否则结果容易乱码。
为什么有11.0592Mhz的晶振源?
通过分解11.0592Mhz = 192*57600 =
384*28800 = 576*19200 =
1152*9600
假设单片机12个时钟周期是一个指令周期,即可得(11.0592*1000000)/12 (指令/秒)
9600(位/秒)的速率需要几个指令周期才能传送一个位呢?
那就是(11.0592*1000000)/12/9600(指令/位),很容易发现把被分解的数子组合一替换就能的到整数的周期。
波特率:每秒传送的BIT位数。说到底只是每位电平持续的时间,波特率越高,持续的时间越短。如波特
率为9600bps,即每一位传送时间为1000ms/9600=0.104ms,即位与位之间的延时为0.104毫秒。
如图:
在空闲时,正电平逻辑通讯总线上基本都是被拉高的,即处于高电平。
UART是通用异步收发器的意思使用的就是串行通信接口:
起始位:先发出一个逻辑”0”信号,表示传输字符的开始。
数据位:可以是5~8位逻辑”0”或”1”。如ASCII码(7位),扩展BCD码(8位)。小端传输
校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验)
停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。
空闲位:处于逻辑“1”状态,表示当前线路上没有资料传送。
所以两边要通过串口通讯,需要规定同样的数据位数,停止位数,是否有校验位,同样的波特率,否则结果容易乱码。
为什么有11.0592Mhz的晶振源?
通过分解11.0592Mhz = 192*57600 =
384*28800 = 576*19200 =
1152*9600
假设单片机12个时钟周期是一个指令周期,即可得(11.0592*1000000)/12 (指令/秒)
9600(位/秒)的速率需要几个指令周期才能传送一个位呢?
那就是(11.0592*1000000)/12/9600(指令/位),很容易发现把被分解的数子组合一替换就能的到整数的周期。
相关文章推荐
- 简单而强大的多线程串口编程工具CserialPort类(附VC基于MFC单文档协议通讯源程序及详细编程步骤)
- 录入设备——51单片机设计思路及过程(2)——串口通讯协议
- 嵌入式面试之RS232-C串口通讯协议解析
- 串口通讯—通信协议
- LabVIEW串口通讯—通信协议
- PHP在RS232串口通讯协议的应用演示[测试环境WinXP/PHP5.1.4]
- 松下伺服驱动器A4 串口通讯协议 中文
- 多线程串口编程工具CserialPort类(附VC基于MFC单文档协议通讯源程序及详细编程步骤)
- 利用串口通讯技术破解Pelco-D云台控制协议
- 通讯端口协议大致分成三类:串口,现场总线,以太网
- RS-232-C串口通讯协议解析(硬件接口协议)
- 简单而强大的多线程串口编程工具CserialPort类(附VC基于MFC单文档协议通讯源程序及详细编程步骤)
- 串口通讯协议
- PHP在RS232串口通讯协议的应用演示(RT)
- [转]PHP在RS232串口通讯协议的应用演示[测试环境WinXP/PHP5.1.4]
- [.NET/C#] [串口通讯] 二进制通讯 协议
- 串口通讯—通信协议
- BlueTrees写的带协议的串口通讯delphi源程序,
- 基于ARM+CPLD的多串口通讯协议转换方案
- 简单而强大的多线程串口编程工具CserialPort类(附VC基于MFC单文档协议通讯源程序及详细编程步骤)