UART通用异步收发器与其中断
首先来了解一下什么是UARTUART通用异步收发器UART Universal Asynchronous Receiver/Transmitter通用异步收发器单片机 / 芯片内部的硬件模块比如 51 单片机的 UART 模块也指对应的物理接口如 TXD/RXD 引脚作用把单片机内部的并行数据如 8 位字节转换成串行数据流逐位发送或把接收的串行数据还原成并行数据UART 也有着一套自己的通信协议规范单片机通信协议常见通信协议UARTI2CSPIUSBCAN了解一下常见通信的几种类型1.UART收发信息接口P31RXD 数据接收信号线P32TXD数据发送信号线通信时两者必须插接不能发送接发送2.UART协议内容uart只需要TXD 与 RXD两个引脚就可以实现除了UART异步串行通信协议之外还有另一种更加复杂的通信协议SPI通信协议必须四个接口SCK Serial Clock 时钟线主设备产生同步收发节奏MOSI Master Out Slave In 主发从收主设备→从设备的数据MISO Master In Slave Out 主收从发从设备→主设备的数据CS/SS Chip Select/Slave Select 片选线主设备选通某一个从设备UART收发过程:TXD与RXD在通信时必须岔接数据发送方式串行通过一根信号线线逐个BIT发送数据并行通过多根信号线同时发送数据类比两种方式1.并行传输速度快硬件效率高传输距离近只能三十米之内传输2.串行传输速度慢硬件成本低实现简单传输距离远最远可达到3000米电平标准1.TTL标准高电平5V低电平0V-0.4V适用于板间通信传输距离较近2.RS232标准负逻辑高电平 -3V - -15V , 低电平 3V - 15 V当单片机需要和PC端进行通信时可以利用MAX232电平转换芯片 将TTL电平转化位RS232电平3.RS485标准差分信号A-B 2VA-B -2V高电平 2V- 6V低电平-6V- 2V也可以利用CH340电平转换芯片将TTL电平转化为USB电平UART通信时数据遵循以下格式1.首先我们来了解一下校验类型奇校验校验位为 1 如果数据位中的1的个数加上校验位的的1保持 1 的总数为奇数个则代表奇校验通过数据发送过程中数据的高低电平可能受到干扰偶校验校验位为 0 如果数据位中的1的个数加上校验位的的1保持 1 的总数为偶数个则代表偶校验通过无校验累加和校验串口通信基本参数例9600 8 N 11.波特率bits per secondbps 每秒传输bit数量2.数据位 8位数据位3.校验位N:NONE 无校验O:ODD 无校验E: EVEN 偶校验4.停止位2.通信频率同步通信通信双方通过一根共享的时钟信号线规定数据传输的频率SCL时钟线引脚高电平时才可以发送数据低电平时不可以发送数据异步通信通信双方没有共享时钟线规定数据传输频率利用波特率实现类似同步的效果3.SBUF接收发送缓存区定时器1常用于串口波特率的设置当定时器1作为波特率产生时溢出不发生中断串口通信初始化在UART协议的基础上还有一种数据发送协议 MODBUS协议主句下发MODBUS协议格式指令从机接收指令并解析完成对应功能后给主机回复应答从机-主机
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2441600.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!