表格vba是什么意思
阅读本文大概需要1-3分钟。小伙伴们在日常工作中见过各种奇形怪状的表格,有xls格式的,也有xlsx/xlsm/xlsb格式的,也有csv格式的,同样是电子表格,它们之间有什么差异吗?今天我们就来说说...
2024.11.19串口通信(Serial Communication),是指外设和计算机之间通过数据信号线、地线等按位进行传输数据的一种通信方式。
特点:数据位的传输按位顺序执行,最少只需一根传输线即可完成;成本低但传输速度慢。串口通信的距离可以从几米到几千米。
串口通信的数据格式
一个完整的串口数据格式包括起始位、数据位、校验位、停止位、波特率等几个参数。
起始位:起始位必须是持续一个bit时间的逻辑0电平,它标志传输一个字符的开始。接收端可通过起始位使自身时钟与发送端的数据同步。
数据位:数据位在起始位的后面,是串口通信的有效信息。数据位的位数可以由通信双方共同约定,通常为8个bit。传输数据时先传输字符的低位,后传输字符的高位。
奇偶校验位:奇偶校验位仅占一位,用于进行奇校验或偶校验。该位不是必须有的。如果是奇校验,需要保证传输的数据总共有奇数个逻辑高位;如果是偶校验,需要保证传输的数据总共有偶数个逻辑高位。
停止位:停止位可以是1位、1.5位或2位。必须是逻辑1电平,它标志传输一个字符的结束。
空闲位:空闲位是指从一个字符的停止位结束到下一个字符的起始位开始,表示传输线路处于空闲状态,串口空闲时处于高电平。
波特率:波特率是串口通信中最常用的重要参数。它指的是串口通信的速率,也就是串口通信时每秒钟可以传输多少个二进制位。例如波特率为9600,则说明每秒钟可以传输9600个二进制位,即传输一个二进制位需要的时间为1/9600秒。
电平标准
根据通讯使用的电平标准不同,串口通讯可分为TTL 标准及RS-232 标准,见下表。
我们知道常见的电子电路中常使用TTL的电平标准,理想状态下,使用5V表示二进制逻辑1,使用0V表示逻辑0;而RS232为了增加串口通讯的远距离传输及抗干扰能力,它使用-15V 表示逻辑1,+15V 表示逻辑0。
因为控制器一般使用TTL电平标准,所以常常会使用MA3232芯片对TTL及RS-232电平的信号进行互相转换。
二、主要的串口通信方式先简单了解下什么是单双工通讯。
单工:数据传输只支持数据在一个方向上传输。
半双工:允许数据在两个方向上传输,但某一时刻只允许数据在一个方向上传输,实际上是一种切换方向的单工通信,不需要独立的接收端和发送端,两者可合并为一个端口。
全双工:允许数据同时在两个方向上传输,因此全双工通信是两个单工方式的结合,需要独立的接收端和发送端。
串口通信主要分为RS232、RS422、RS485三种通信方式。
RS232
RS-232是IBM-PC及其兼容机上的串行连接标准。全双工通信,需要地线、发送线和接收线三条线。RS-232只限于PC串口和设备间点对点的通信,抗干扰能力较差,最远通信距离是50英尺。RS-232可用于许多用途,比如连接鼠标、打印机、工业仪器仪表,也用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。
RS422
RS-422(EIA RS-422-A Standard)是Apple的Macintosh计算机的串口连接标准。采用全双工通讯方式,有4根信号线,收与发是分开的,可以同时进行收和发。RS-422接口的最大传输距离为4000英尺(约1219米),最大传输速率为10Mb/s。
RS-422使用差分信号以及非平衡参考地的信号。差分传输使用两根线发送和接收信号,对比RS-232,它能更好地抗噪声和有更远的传输距离,在工业环境中尤为适用。
RS485
RS-485采用半双工通讯方式。它增加了设备的个数,同时定义了在最大设备个数情况下的电气特性,以保证足够的信号电压。RS-485具有出色抗噪和多设备能力,RS-485可用超过4000英尺的线进行串行通行。RS485采用平衡发送和差分接收,具有良好的抗干扰能力,信号能传输上千米。RS-422设备可以被RS-485控制。
三、串口通信问题排查我们排查串口通信问题的方向基本为以下几部分,如图所示。
1.检查中间件
串口通信必然存在发送端和接收端,且两者通过中间件(例如导线),遇到问题,首先应该保证导线连接正常。如果这一部分没有确定,直接排查其他方向,很可能在做无用功。
2.排查硬件层
通过逻辑分析仪、示波器等仪器来判断发送端、接收端在发送、接收、空闲时的引脚波形是否正常。串口空闲时为高电平,有数据时才会有电平变化。同时需要确定电压是否正常。波形测量的位置先从最终点开始测量,然后依次排查中间部分的探测点,来判断问题位置。
如果发现波形变形、失真、电压不正常等情况,请让硬件工程师协助进行排查。在其起始点可以看到波形,但是终点看不到,需要使用万用表来确定是否引脚存在虚焊。
3.检查串口驱动层
如果排查了硬件无问题以后,但是发送端串口没有波形,这时候就需要检查串口驱动是否配置成功了。可以先将发送端的Tx、Rx引脚短接,进行回环测试。最好先用一个简单例程进行测试,尽量排除多个变量的影响。排查时需要特别注意的是,不能只看代码逻辑,要注重实际调试,善于利用软件调试窗口来观察相关寄存器的值。
4.应用协议层
通过以上方向的排查,可以证明自发自收没有问题。接下来就验证双方是否可以正常通信。应用协议层可能存在的问题有:
①发送端与接收端数据协议有问题,例如CRC、帧头帧尾校验、解析数据包等方面。
②发送端与接收端串口配置的参数:波特率、校验位不一致,导致无法通信。
另外大家也需要注意下面这几点:
①由于信号容易被干扰,建议使用带屏蔽线,并且接线一定要严格,需要接地的最好接地。有些485通信,还需要考虑接上终端电阻来匹配。如果是RS232通信,尽量不要让线太长。
②因为很多设备通过外部晶振或者内部时钟计算的波特率都是存在误差的。这样的话一旦报文过长,会导致误差累积,进而出现串口识别乱码或者收不到的情况。
③在一些可能会存在干扰的地方,可以考虑使用奇校验或者偶校验,这样可以将错误的报文过滤掉或者尽量使用一些数据校验协议,防止数据出错。
阅读本文大概需要1-3分钟。小伙伴们在日常工作中见过各种奇形怪状的表格,有xls格式的,也有xlsx/xlsm/xlsb格式的,也有csv格式的,同样是电子表格,它们之间有什么差异吗?今天我们就来说说...
2024.11.19下面先讲一讲串口通信的一些基本概念,术语。如果对串口通信比较熟悉的,就当复习复习,如果哪里讲错或不到位,也可以及时指出,当作一块交流交流。这里并不对串口的编程作讲解,主要是从应用的角度去讲一讲。因为更...
2024.11.18使用U盘,我们可以方便的在电脑上传输文件。可以下载我们想听的歌曲,想看的视频。使用U盘要保持良好的使用习惯,不少人使用U盘的操作是直接拔出,这样会给U盘造成很大的伤害。当U盘提示格式化的时候怎么办呢?...
2024.11.22前几天,有一位朋友咨询:快速格式化是什么?或许你知道快速格式化是什么?那你知道与格式化相关的,比如全面格式化是什么,低级格式化是什么,格式化了文件会丢失吗?可以找回吗?什么情况可以找回,什么情况不可以...
2024.11.22在电脑CPU参数中,每款处理器都会标注“TDP”一项,其中很多网友对于TDP是什么意思不太了解。即便是知道TDP代表CPU功耗,但对于TDP和CPU实际功耗的关系大都没有一个全面的了解。今天小匠就来科...
2024.11.22