单片机与PC机之间的异步串行通信

单片机与PC机之间的异步串行通信,第1张

没有错,电脑串口

标准RS232串口,最高电压

+15V

或者

-15V

单片机

通常

TTL

电平,最高不超过5V

所以

连接

时必须做

电平转换

标准RS232转TTL电平

当然

弄清楚

2端的

接收、发送

信号地

请看

武汉鸿伟光电

E232TTL

RS232转TTL电平

连接示意图

串行异步通信串行通信的数据或字符是一帧一帧地传送,在异步通信中,一帧数据先用一个起始位“0”表示字符的开始,然后是5~8位数据,即该字符的代码,规定低位在前、高位在后,接下来是奇偶校验码,最后一个停止位“1”表示字符结束。

特点:成本低,硬件方便,适合远距离通信,传输速度低。51的UART可以与电脑或其他单片机通信

帧格式有起始位,数据位,奇偶校验位,停止位。

没有及时回答,希望有用!

串口UART作为嵌入式应用和通讯领域中最常用的接口之一,接口协议虽然简单,但在实际应用中不同设备之间的通讯也会存在各种小问题,下面对使用中各种常见的问题做下总结和梳理,可作为调试参考。串口可分为异步串口(UART)和同步串口(USART),后者多出时钟信号线用作通讯时信号同步。本偏仅介绍异步串口。

一、串口通信常见问题

串口通信乱码

串口通讯乱码通常是指接收方接收到的数据不符合预期,出现此情况时需要考虑的因素通常包含以下几个方面:

双方设定的串口参数是否匹配,需检查设置的:串口波特率、串口数据格式等参数。

串口通讯电压不匹配,不同的串口设备接收可正常进行解码的高低电平门限不同,如同样是33V串口通讯,A设备低电平门限15V,B设备低电平门限1V。当实际串口电压低电平只有15V时,B设备无法正常接收数据。又如:A设备为5V串口,B设备为33V串口,同样有电压不匹配的问题。

串口通讯实际工作波特率误差较大,即:串口工作实际波特率和理论值偏差较大,因一些MCU和串口设备所用时钟为了兼顾其他资源和应用需要,实际工作的串口速率和设定会有偏差。比如:标称为9600bps时,实际工作在了10000bps(误差超过4%),此时可能已经超出接收方的设计标准。

串口通讯信号质量差,如通讯时信号上升下降抖动严重,信号有过冲或者变化比较迟缓,此时检查硬件上共地是否良好,以及线路上有无串接/并联其他器件导致。

数据格式显示问题,通常使用十六进制或ASCII码格式居多,使用时需要区分。

串口无法发送

串口无法发送通常是指与此串口的TXD连接的对端设备RXD通道接收不到任何数据,总结如下:

使用仪器对TXD通道进行实际测量,观察硬件波形,确定信号是否有输出以及是否正常。(串口电压、串口信号上升下降时间)

短接设备的TXD和RXD通道回环测试,看自收发是否可以成功。排除是自身设备异常还是对端异常。

确定应用软件是否打开串口硬件流控,如当启用RTS/CTS硬件流控后但实际该引脚并没有连接或连接但不生效时,按照协议规定,CTS输入无效则发送方暂停发送数据。

MCU软件编码问题或计算机端软件工作异常。

串口无法接收

当串口接收不到任何数据的原因通常如下:

对端串口实际未能成功发送数据。

串口发送有效电压不满足芯片接收解码要求。

MCU软件编码问题或计算机端软件工作异常。

二、常用的排查小技巧

对于以上的常见串口调试问题,有以下几个方法和技巧可供参考使用。

使用硬件仪器

善于使用示波器等硬件采集或分析工具查找问题,用此方法可以确定线路上信号的串口电压、串口数据格式、串口通信波特率等参数。

串口Loopback检测

当手头没有硬件仪器时,将设备自身的TXD和RXD短接起来进行自收发测试也是一个不错的选择,此方式可以简单确认硬件通路和整个逻辑是否是打通的。但缺点是定位问题不够精准。

更换串口调试软件

计算机端串口软件种类较多,不排除一些设备或驱动软件没法成功适配所有的串口调试软件,此时可尝试多使用几款不同的软件对比测试。

三、串口通信基础

当两个设备使用UART进行通信时,它们至少通过三根导线连接:TXD串口发送、RXD串口接收、GND。串口设备通过改变TXD信号线上的电压来发送数据,接收端通过检测RXD线上的电压来读取数据。

什么是串口通信

计算机一次传输信息(数据)一位或多个比特位。串行是指传输数据一次只传输一位。当进行串口通信时发送或者接收的每个字(即字节或字符)一次发送一位。每一位都是逻辑‘1’或者‘0’。也用Mark表示逻辑1,Space表示逻辑0。

串口数据速率使用 bits-per-second ("bps") 或者 baud rate ("baud")。这表示一秒内可以传输多少逻辑1和0。当波特率超过 1000,你会经常看到用Kbps表示的速率。对于超过 1000000 的速率一般用Mbps 来表示。

先来说说什么是串行和并行。先假设传八位数字信号。串行就是一根线来传输,八个数字量按照顺序依次传输。并行口是八根线一次就传输出来。因此并行口的速度要比串行口快。但是并行口十分浪费资源。传同样的数据,其硬件消耗是串行的八倍。

再来说说串行的同步和异步。在数字电路中,时钟频率是个很重要的概念。串行通信中必须要有一个时钟来控制传输速度。如果这个时钟分别来自于发送方和接收方的内部,那么这个就是异步通信,如果时钟是由主机发出的,也就是发送方和接收方使用同一个时钟信号,那么这就是同步通信。

单总线有的芯片再用。就是说发送和接收用的都是一根线。它只需要一根线就可以完成通信。

i2c也是一种串行通信标准。有两根通信线。

8080不是很了解。不过应该也是一种通信协议。

您好,基本的通信方式偶并行通信和串行通信两种。一条信息的各位数据被同时传送的通信方式称为并行通信。一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通信。而串行通信又分为异步通信和同步通信两种方式。在单片机中,主要使用异步通信方式。异步通信方式的特点是:按字符传输的,每传输一个字符就用起始位来进来收、发双方的同步,不会因收发双方的始终频率的小的偏差导致错误,这种传输方式利用每一帧的起、止信号来建立发送与接收之间的同步。谢谢。

在串行通信中,由于是一位一位地进行数据传送。为了把每个字节区别开来,需要收发双方在传送数据的串行信息流中,加入一些标记信号位。在数据中根据所添加的标记信号位的不同方式,分成同步通信和异步通信两种。 1“异步通信”是一种很常用的通信方式(效率较低)异步通信在发送字符时,发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。所传送的数据以字节为单位。每个字节前加上一位起始位,每个字节的后面加上停止位。好处:异步通信的好处是通信设备简单、便宜,但传输效率较低。 2“同步通信”的通信双方必须先建立同步,即双方的时钟要调整到同一个频率。收发双方不停地发送和接收连续的同步比特流。一种是使用全网同步,用一个非常精确的主时钟对全网所有结点上的时钟进行同步。一种是使用准同步,各结点的时钟之间允许有微小的误差,然后采用其他措施实现同步传输。同步通信是把所传送的数据以多个字节(100字节以上)为单位,在其前后添加标志。

以上就是关于单片机与PC机之间的异步串行通信全部的内容,包括:单片机与PC机之间的异步串行通信、什么是串行异步通信,有哪些特点,几种帧格式、单片机串行通信程序调试原因等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/10632893.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-10
下一篇2023-05-10

发表评论

登录后才能评论

评论列表(0条)

    保存