精华内容
下载资源
问答
  • PC机串口通信工作原理是什么 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议...

    PC机串口通信的工作原理是什么
    串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。

    串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。

    典型地,串口用于ASCII码字符的传输。通信使用3根线完成:(1)地线,(2)发送,(3)接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但是不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通行的端口,这些参数必须匹配:
    a,波特率:这是一个衡量通信速度的参数。它表示每秒钟传送的bit的个数。例如300波特表示每秒钟发送300个bit。当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。这意味着串口通信在数据线上的采样率为4800Hz。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。
    b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。
    c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
    d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步

    展开全文
  • 文章我们主要讲单片机上串口工作原理和如何通过程序来对串口进行设置,以及根据所给出的实例实现与PC 机通信
  • 一、串口通信电路 电路图: 说明:当RXD TXD为低电平时,对应的led灯会亮起 二、串口通信控制寄存器 下图为80C51串行口的结构: SCON(serial Control Register):串行口控制寄存器 bit 7 6 5 4 3 2 1 0 ...

    一、串口通信电路

    电路图
    在这里插入图片描述
    说明:当RXD TXD为低电平时,对应的led灯会亮起



    二、串口通信控制寄存器

    下图为80C51串行口的结构:
    在这里插入图片描述


    SCON(serial Control Register):串行口控制寄存器

    bit 7 6 5 4 3 2 1 0
    字节地址:98H SM0 SM1 SM2 REN TB8 RB8 T1 R1

    SM0 SM1:工作方式选择位
    在这里插入图片描述
    SM2:多机通信控制位,主要用于方式2和方式3。当接收机的SM2=1时可以利用收到的RB8来控制是否激活RI(RB8=0时不激活RI,收到的信息丢弃;RB8=1时收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走)。当SM2=0时,不论收到的RB8为0和1,均可以使收到的数据进入SBUF,并激活RI。
    REN:允许串行接收位。由软件置REN=1,则启动串行口接收数据;若软件置REN=0,则禁止接收。
    TB8:在方式2或方式3中,是发送数据的第九位,可以用软件规定其作用。可以用作数据的奇偶校验位,或在多机通信中,作为地址帧/数据帧的标志位。
    RB8:在方式2或方式3中,是接收到数据的第九位,作为奇偶校验位或地址帧/数据帧的标志位。在方式1时,若SM2=0,则RB8是接收到的停止位。
    T1:发送中断标志位。在方式0时,当串行发送第8位数据结束时,或在其它方式,串行发送停止位的开始时,由内部硬件使TI置1,向CPU发中断申请。在中断服务程序中,必须用软件将其清0,取消此中断申请。
    R1:接收中断标志位。在方式0时,当串行接收第8位数据结束时,或在其它方式,串行接收停止位的中间时,由内部硬件使RI置1,向CPU发中断申请。也必须在中断服务程序中,用软件将其清0,取消此中断申请。

    PCON(Power Control Register):其中的SMOD(PCON[7])与串行工作有关——对方式1,2,3,当SMOD为1时,波特率提高一倍。



    三、工作方式

    方式1:方式1是10位数据的异步通信口。TXD为数据发送引脚,RXD为数据接收引脚,传送一帧数据的格式如图所示。其中1位起始位,8位数据位,1位停止位。
    在这里插入图片描述
    过程:用软件置REN为1时,接收器以所选择波特率的16倍速率采样RXD引脚电平,检测到RXD引脚输入电平发生负跳变时,则说明起始位有效,将其移入输入移位寄存器,并开始接收这一帧信息的其余位。接收过程中,数据从输入移位寄存器右边移入,起始位移至输入移位寄存器最左边时,控制电路进行最后一次移位。当RI=0,且SM2=0(或接收到的停止位为1)时,将接收到的9位数据的前8位数据装入接收SBUF,第9位(停止位)进入RB8,并置RI=1,向CPU请求中断。



    四、串口的使用

    串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。具体步骤如下:

    • 确定T1的工作方式(编程TMOD寄存器)
    • 计算T1的初值,装载TH1、TL1
    • 启动T1(编程TCON中的TR1位)
    • 确定串行口控制(编程SCON寄存器)

    注:串行口在中断方式工作时,要进行中断设置(编程IE、IP寄存器)



    完结 cheers! ??

    展开全文
  • 串口通信的基本概念及原理理解 2017/11/12 22:52 1.同步通信和异步通信: 异步通信:指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致,即...
    一.串口通信的基本概念及原理理解 2017/11/12 22:52
    1.同步通信和异步通信:
    异步通信:指通信的发送与接收设备使用各自的时钟控制数据的发送和接收过程。为使双方的收发协调,要求发送和接收设备的时钟尽可能一致,即发送方和接收方没有统一的时钟节拍、而各自按照自己的节拍工作。
    异步通信是以字符(构成的帧)为单位进行传输,字符与字符之间的时间间隔是任意的,但每个字符中的各位是以固定的时间传送的,即字符之间不一定有“位间隔”的整数倍的关系,但同一字符内的各位之间的距离均为“位间隔”的整数倍。如下图所示。

    同步通信时要建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。此时,传输数据的位之间的距离均为“位间隔”的整数倍,同时传送的字符间不留间隙,即保持位同步关系,也保持字符同步关系。以上图异步通信传输示意图做参考。
    2.电平信号和差分信号
    (1)、电平信号和差分信号是用来描述通信线路传输方式的。也就是说如何在通信线路上表达1和0.
    (2)、电平信号的传输线中有一个参考电平线(一般是GND),然后信号线上的信号值是由信号线电平和参考电平线的电压差决定。
    (3)、差分信号的传输线中没有参考电平,所有都是信号线。然后1和0的表达靠信号线之间的电压差。
    总结:电平信号的2根通信线之间的电平差异容易受到干扰,传输容易失败;差分信号不容易受到干扰因此传输质量比较稳定,现代通信一般都使用差分信号,电平信号几乎没有了。
    总结2:看起来似乎相同根数的通信线下,电平信号要比差分信号要快;但是实际还是差分信号快,因为差分信号抗干扰能力强,因此1个发送周期更短。
    3.并行串行通讯概念及特点
    (1)并行通信是指数据的各位同时在多根数据线上发送或接收.
    串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以。
    (2)并行特点:控制简单、传输速度快;由于传输线较多,长距离传送时成本高且接收方的各位同时接收存在困难.信号线占用多。
    (3)在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信.
    串行特点:传输线少,长距离传送时成本低,但数据的传送控制比并行通信复杂.
    总结:其实这么多年发展,最终胜出的是:异步、串行、差分,譬如USB和网络通信。
    4.串口通信的基本概念
    4.1 串口通信的特点:异步、电平信号、串行
    (1)、异步:串口通信的发送方和接收方之间是没有统一的时钟信号的。
    (2)、电平信号:串口通信出现的时间较早,速率较低,传输的距离较近,所以干扰还不太明显,因此当时使用了电平信号传输。后期出现的传输协议都改成差分信号传输了。
    (3)、串行通信:串口通信每次同时只能传输1个二进制位。
    4.2 RS232电平和TTL电平
    (1)电平信号是用信号线电平减去参考线电平得到电压差,这个电压差决定传输值是1或0.
    (2)在电平信号时多少V代表1,多少V代表0不是固定的,取决于电平标准。譬如RS232电平中-3V~-15V表示1;+3~+15V表示0;TTL电平则是+5V表示1,0V表示0.
    (3)不管哪种电平都是为了在传输线上表示1和0.区别在于适用的环境和条件不同。RS232的电平定义比较大,适合干扰大、距离远的情况;TTL电平电压范围小,适合距离近且干扰小的情况。
    总结:串口通信时因为是异步通信,所以通信双方必须事先约定好通信参数,这些通信参数包括:波特率、数据位、奇偶校验位、停止位(串口通信中起始位定义是唯一的,所以一般不用选择)
    4.3 串行通信的制式
    单工:单向的(或者是收或者是发)
    半双工:(串行通信)收/发不可同时进行
    全双工:(串行通信)收/发可同时进行
    如图所示:

    串口通信线最少需要2根(GND和信号线),可以实现单工通信,也可以使用3根通信线(Tx、Rx、GND)来实现全双工。
    5.S5PV210串行通信接口详解
    5.1S5PV210的串口控制器工作原理框图

    (1)transmitter由发送缓冲区和发送移位器构成。我们要发送信息时,首先将信息进行编码(一般用ASCII码)成二进制流,然后将一帧数据(一般是8位)写入发送缓冲区(从这里以后程序就不用管了,剩下的发送部分是硬件自动的),发送移位器会自动从发送缓冲区中读取一帧数据,然后自动移位(移位的目的是将一帧数据的各个位分别拿出来)将其发送到Tx通信线上。
    (2)receiver由接收缓冲区和接收移位器构成。当有人通过串口线向我发送信息时,信息通过Rx通信线进入我的接收移位器,然后接收移位器自动移位将该二进制位保存入我的接收缓冲区,接收完一帧数据后receiver会产生一个中断给CPU,CPU收到中断后即可知道receiver接收满了一帧数据,就会来读取这帧数据。
    (3)串口控制器中有一个波特率发生器作用是产生串口发送/接收的节拍时钟。波特率发生器其实就是个时钟分频器,它的工作需要源时钟(APB总线来),然后内部将源时钟进行分频(软件设置寄存器来配置)得到目标时钟,然后再用这个目标时钟产生波特率(硬件自动的)。
    5.2S5PV210串行通信接口扩展功能详解
    FIFO模式及其作用
    (1)典型的串口设计,发送/接收缓冲区只有1字节,每次发送/接收只能处理1帧数据。这样在单片机中没什么问题,但是到复杂SoC中(一般有操作系统的)就会有问题,会导致效率低下,因为CPU需要不断切换上下文。
    (2)解决方案就是想办法扩展串口控制器的发送/接收缓冲区,譬如将发送/接收缓冲器设置为64字节,CPU一次过来直接给发送缓冲区64字节的待发送数据,然后transmitter慢慢发,发完再找CPU再要64字节。但是串口控制器本来的发送/接收缓冲区是固定的1字节长度的,所以做了个变相的扩展,就是FIFO。
     FIFO(数据结构中的先入先出队列,这里这个大的缓冲区叫FIFO是因为这个缓冲区的工作方式类似于FIFO这种数据结构。,例如OV7670等摄像头的FIFO芯片,原理也一样。
    DMA模式及其作用
    (1)DMA direct memory access,直接内存访问。DMA本来是DSP中的一种技术,DMA技术的核心就是在交换数据时不需要CPU参与,模块可以自己完成。例如STM32的内部DMA寄存器
    (2)DMA模式要解决的问题和上面FIFO模式是同一个问题,就是串口发送/接收要频繁的折腾CPU造成CPU反复切换上下文导致系统效率低下。
    (3)传统的串口工作方式(无FIFO无DMA)效率是最低的,适合低端单片机;高端单片机上CPU事物繁忙所以都需要串口能够自己完成大量数据发送/接收。这时候就需要FIFO或者DMA模式。FIFO模式是一种轻量级的解决方案,DMA模式适合大量数据迸发式的发送/接收时。
    IrDA模式及其用法
    (1)IrDA其实就是红外线通信
    (2)红外通信的原理是发送方固定间隔时间向接收方发送红外信号(表示1或0)或者不发送红外信号(表示0或者1),接收方每隔固定时间去判断有无红外线信号来接收1和0.
    (3)分析可知,红外通信和串口通信非常像,都是每隔固定时间发送1或者0(判断1或0的物理方式不同)给接收方来通信。因此210就利用串口通信来实现了红外发送和接收。
    (4)210的某个串口支持IrDA模式,开启红外模式后,我们只需要向串口写数据,这些数据就会以红外光的方式向外发射出去(当然是需要一些外部硬件支持的),然后接收方接收这些红外数据即可解码得到我们的发送信息。
    5.3S5PV210串行通信与中断与时钟设计
    5.3.1、串行通信与中断的关系
    (1)发送方可以选择使用中断,也可以选择不使用中断。
    • 使用中断:发送方先设置好中断并绑定一个中断处理程序,然后发送方丢一帧数据给transmitter,transmitter发送耗费一段时间来发送这一帧数据,这段时间内发送方CPU可以去做别的事情,等transmitter发送完成后会产生一个TXD中断,该中断会导致事先绑定的中断处理程序执行,在中断处理程序中CPU会切换回来继续给transmitter放一帧数据,然后CPU切换离开;
    • 不使用中断:发送方事先禁止TXD中断(当然也不需要给相应的中断处理程序了),发送方CPU给一帧数据到transmitter,然后transmitter耗费一段时间来发送这帧数据,这段时间CPU在这等着(CPU没有切换去做别的事情),待发送方发送完成后CPU再给它一帧数据继续发送直到所有数据发完。CPU是怎么知道transmitter已经发送完了?有一个状态寄存器,状态寄存器中有一个位叫发送缓冲区空标志,transmitter发送完成(发送缓冲区空了)就会给这个标志位置位,CPU就是通过不断查询这个标志位为1还是0来指导发送是否已经完成的。
    (2)因为串口通信是异步的,异步的意思就是说发送方占主导权。也就是说发送方随时想发就能发,但是接收方只有时刻等待才不会丢失数据。所以这个差异就导致发送方可以不用中断,而接收方不得不使用中断模式
    5.3.2、210串行通信接口的时钟设计
    (1)在S5PV210的串口控制器工作原理框图中,串口控制器中有一个波特率发生器,所以,发送transmitter和接收receiver都需要一个时钟信号,那么这个时钟从哪里来?
    • 源时钟信号是外部APB总线(PCLK_PSYS,66MHz)提供给串口模块的(这就是为什么我们说串口是挂在APB总线上的),在上一节总结的时钟框架图中,可以查阅到。
    • 然后进到串口控制器内部后给波特率发生器(实质上是一个分频器),在波特率发生器中进行分频,分频后得到一个低频时钟,这个时钟就是给transmitter和receiver使用的。
    (2)串口通信中时钟的设置主要看寄存器设置。重点的有:
    • 寄存器源设置(为串口控制器选择源时钟,一般选择为PCLK_PSYS,也可以是SCLK_UART),还有波特率发生器的2个寄存器。
    (3)波特率发生器有2个重要寄存器
    • UBRDIVn和UDIVSLOTn,其中UBRDIVn是主要的设置波特率的寄存器,UDIVSLOTn是用来辅助设置的,目的是为了校准波特率的。

    展开全文
  • 这节我们主要讲单片机上串口工作原理和如何通过程序来对串口进行设置,以及根据所给出的实例实现与PC 机通信。 一、原理简介 51 单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能...
  • 这里需要理解一下这个并行通信和串行通信, 这个并行通信就想,比如我要从A传输8个bit到B 那么用并行通信的话就可以,8个bit,一起传输过去,这个时候占用8个引脚. 串行通信就是这8个bit,一个位一个位的传输过去,只...

    技术交流QQ群【JAVA,C++,Python,.NET,BigData,AI】:170933152

     

    这里需要理解一下这个并行通信和串行通信,

    这个并行通信就想,比如我要从A传输8个bit到B

    那么用并行通信的话就可以,8个bit,一起传输过去,这个时候占用8个引脚.

     

    串行通信就是这8个bit,一个位一个位的传输过去,只占用1个引脚,这样的话,对应的优缺点就显示出来了.

    串行通信,传输慢,但是占用的引脚少,但是并行通信传输的快,但是占用的引脚多.

    单工通信是

    单工通信就是只能从A传输到B,单向的.

    可以看到这里,有半双工和全双工 

    半双工的意思是,A,和B都可以接收和发送,但是同一时间只能有一个,

    也就是同一个时间,只能是发送或者接收.要求A,B都要有,发送接收的能力.

     

    全双工,同一时间可以发送,也可以接收,但是要求A,B都要有,发送接收的能力.

    来说一下这个同步通信和异步通信.

    注意这里的同步通信,是带有时钟同步信号的通信,也就是比如从A传输到B,这个时候,除了上面的传输数据以外

    还需要,同步一个时钟信号,也就上跟上面的一样,同步时钟信号,比如时钟信号,每次向上高电平的时候,就传输一位.

     

    对于异步通信来说,因为没有时钟同步信号,那么这个时候就需要约定好,这里就是约定使用的波特率,

    也就是,比如每隔1s,就去采样一次,这样.就如上面画的那样,如果没有约定的话,A到B传输的时候,可能就乱了,因为不知道

    什么时候,收的地方,开始采样,取数据等.

    这里说几种常见的通信标准.异步通信不用时钟.

    USART可以做为同步异步来用,UART只能用来做异步收发器,对于这个芯片有5个可以使用3个USART,2个UART.

    这里看一下,这个发送和接收,对于两个芯片之间通过UART通信的话,就是连接方式,就是上面左侧.

    发送和接收会通过TTL电平来实现的.

    而对于,UART和电脑的通信是这样的:

    电脑的发送和接收引脚会通过一个DB9,转换为RS232电平,然后芯片的接收和发送也是会被转换成RS232电平,

    通过这样的方式来实现.

    战舰版有这个DB9接口

    可以看到上面的部分就是DB9接口

    DB9接口,连接某个电路,然后再连接到对应的针脚上,然后

    这个DB9接口,是没办法直接连接另外的一个芯片的,需要连接的话,需要把另一个芯片出来的电平,转换为

    R232电平.也就是把TTL电平,转换为R232电平.

    STM32F103的对应的5个串口,对应的引脚下面都有了.

    也可以去看文档可以在这个文档中查.

    看一下这里的,注意分数波特率发生器系统的设置,后面会说,

    然后可编程波特率后面也会说.

    看一下串口通信过程,就是说外部设备,用高低电平传输数据,这个传输数据的速度,跟

    波特率有关,RXD这个是接收引脚,TXD这个是发送引脚

    可以看到他都是先放到串行输入移位寄存器中,然后再放入输入数据寄存器中,或者输出数据寄存器中

    然后再进行发送或者接收,相应的MCU才能去对应的,输入,输出寄存器中去读取,放入数据.

    看一下这个串口异步通信的过程,

    就跟上面说的一样,首先要有一个起始位,标志着,开始进行数据传输了,然后

    然后后面的8位就是数据位,然后第9位是奇偶校验位.

    然后还有一个是停止位,比如约定好,0就是起始位,然后1就是停止位,他就是从接收数据开始算,

    第0位是0的话,就是起始位,然后是8位数据位,1位奇偶校验位,然后1位停止位,这个停止位读取到1就

    停止一个数据的接收.

    这里的奇偶校验位是什么意思呢,比如

    要传输的8位数据是0000 0111 这个时候奇偶校验位就位自动补齐一个1,这样就让1的个数凑够4个

    也就是偶数个.如果是要发送的数据是0000 1111,那么对应的奇偶校验位就设置为 0,这样也能保证

    1的个数是偶数位.

     

    也就是说如果,接收的数据,如果1的个数不是偶数位的话,那么这个数据就有可能是错误的.

    通过这样的方法,来保证数据的正确性.

    再来看这个串口的框图:这个很重要

     

    比如上面,首先IRDA_OUT IRDA_IN这个先不用看,因为这个是做红外控制用的.

    然后,看对应的RX接收引脚,接收引脚,连接接收移位寄存器,把数据一位一位的移动到接收移位寄存器中

    以后,然后再移位到接收数据寄存器RDR中,然后MCU就可以从这个RDR中去读取数据了.

     

    然后,再看这个TX发送,这个时候,首先MCU会把数据,放入到发送数据寄存器中,然后,发送数据寄存器中的数据

    再通过移位放到这个发送移位寄存器中,然后,数据再一位一位的通过串口的TX发送引脚,发送出去

    这个过程中的数据发送速度是通过波特率来控制的,发送的时候会按照事先定义好的波特率,一位一位的移出.

    再往下看,那么他是怎么实现的数据发送呢,可以看到,这里发送移位寄存器,连接了发送控制器,

    而接收移位寄存器连接了接收器控制.

    然后,客户以看到这里,发送器控制的发送器时钟,和接收器控制的接收器时钟,都连接了一个单元,用来提供

    时钟.通过时钟来实现的动力驱动位移动.

     

    这样也就明白了,串口的,发送和接收,他都用同一个波特率发生器来产生,也就是来源于同一个

    时钟源.

    注意,这里的时钟来源,对于STM32F103系列,这个串口的时钟来源,

    串口1 UART1的时钟来源于PCLK2 

    串口2-4的时钟来源是PCLK1 

    这个时钟要知道,他是通过这个USART_BRR这个寄存器,包括后面的

    DIV_Marissa DIV_Fraction

    下面的这个是一个是整数,一个是小数,也就是说,这个/USARTDIV,这个其实是一个分频器

    经过他的分频以后,然后再16分频,产生的波特率,就作为发送时钟源和接收时钟源了.

    因为这里有小数和整数的处理,所以这里,可以进行小数分频,比如36.005这样,其实实际上不能用这个小数

    他要用16分之一的倍数,这个样的小数,作为分频系数才行.

    讲到这里就知道了,他这个发送移位寄存器和接收移位寄存器,实际上是通过下面的时钟源产生的.

    上边这部分是跟智能卡什么的相关的,先不管.

    再看这一部分,这里先看这个SR,这个寄存器,实际上是记录了一些标志位,

    然后再看这个CR1寄存器,这个寄存器实际上是一些使能位,比如这里的TE发送使能transfer enable,然后

    RE 接收使能.

    然后看左边,可以看到有些IDLE RXNE TXEIE..等这些是一些中断的使能位,使能了某个中断,

    就可以使用对应的中断了,可以写对应的中断函数.来控制数据的传输.

     

    讲解这个框图让大家对这个串行通信原理有个理解.

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 多机通信控制位REN:串口接受允许位TB8:发送的第9位数据RB8:接收的第9位数据TI:发送中断标志RI:接收中断标志电源控制寄存器PCON二、串口通信工作原理波特率/比特率三、单片机串口通信流程==中断注意事项== ...
  • 文/樊晓鑫 python3.7和wxPython版。 要想做出串口助手软件,首先得深入理解串口的原理。 不知道的,可以百度...UART作为异步串口通信协议的一种,工作原理是将传输数据的每一个字符一位一位地传输。其中每一位...
  • 51单片机串口通信51单片机串口通信(转载)2009-03-0318:22一、串口通信原理串口通讯...串口通信工作原理请同学们参看教科书。以下对串口通信中一些需要同学们注意的地方作一点说明:1、波特率选择波特率(BoudRate)...
  • 原理部分: 1.常见的串行通信接口: 2.RXD:数据输入引脚,数据接收。 3.TXD:数据发送引脚,数据发送。 4.在单片机与外设(例如PC机)时,连线顺序是:RX—-TX , TX—-RX。 5.其中我把我认为比较重要的都勾出来了~ ...
  • STM32-串口通讯工作原理

    千次阅读 2018-07-18 16:53:22
    STM32 USART 简介 ...但是我们实现串口打印调试信息到电脑,其实只用到了他的异步通信的功能。 USART除了有串口功能,它满足外部设备对工业标准NRZ 异步串行数据格式的要求,并且使用了小数波特...
  • 串口工作原理

    2018-03-25 13:50:00
    计算机串行通信基础 随着多微机系统的广泛应用和计算机网络技术的普及,计算机的通信功能愈来愈显得重要。计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。通信有并行通信和串行通信两种方式。在多...
  • 第六天:串口通信概念、原理

    千次阅读 2016-07-23 21:39:19
    串口通信的基本概念   通信过程其实分为三个步骤: 发送方先按照信息编码方式编码, 通过传输介质传输 收到编码信息,根据事先的编码方式解码得到原信息     电子通信概念1:  同步通信 和 异步...
  • 计算机和单片机(如MCS-51)都具有串行通信口,可以设计相应的串口通信程序,完成二者之间的数据通信任务。 实际工作中利用串口完成通信任务的时候非常之多。已有一些文章介绍串口编程的文章在计算机杂志上发表。但...
  • 原标题:Java程序与串口通信的实现及通信原码-全网最详细,一步一步教会目录串口通信原理在一台电脑上我们需要做哪些准备工作来实现Java的串口通信?Java代码的编写和调试Java连接传输数据的代码块:Java程序与...
  • 计算机和单片机(如MCS-51)都具有串行通信口,可以设计相应的串口通信程序,完成二者之间的数据通信任务。  实际工作中利用串口完成通信任务的时候非常之多。已有一些文章介绍串口编程的文章在计算机
  • 引言 继续来更新嵌入式这个系列,再说一遍,这个系列我一般都会使用...原理部分: 1.常见的串行通信接口: 2.RXD:数据输入引脚,数据接收。 3.TXD:数据发送引脚,数据发送。 4.在单片机与外设(例如PC机)时,...
  • 这节我们主要讲单片机上串口工作原理和如何通过程序来对串口进行设置,以及根据所给出的实例实现与PC 机通信
  • 串口通信

    2021-01-23 18:55:20
    (1)原理:利用51单片机内部特殊寄存器进行通信。TMOD主要用于选择定时器T1的工作方式;TCON主要用于计算TH1,TL1的值,就是计算波特率;SCON用于选择方式。 1、SCON 是一个特殊功能寄存器,用以设定串行口的工作...
  • 51单片机串口多机通信原理与编程实现

    千次阅读 多人点赞 2020-06-11 12:15:44
    51单片机串口多机通信 需要用的的寄存器 (了解的可直接跳到下一节) TMOD 定时器/计数器模式控制寄存器 TCON 定时器控制寄存器 SCON 串口控制寄存器 PCON 电源控制位寄存器 IE 中断中断使能寄存器 补充说明,...
  • 串口通信原理串口通信一、串口通信原理与使用1.通信的工作方式2.数据端口的接受与发送3.串行口的工作方式4. 波特率计算5.串口控制寄存器SCON6.辅助寄存器AUXR二、串口通信单个数据收发代码 串口通信 一、串口通信...
  • 串口通信的实现

    2018-01-12 19:48:51
    之前使用定时器模拟串口通信了解了串口通信工作原理.但是现在有一个问题,怎么用上一次的办法实现波特率为1200的串口通信. 当串口通信为1200时.发送一位数据需要延时833us;这时候就不能用定时器1只装载一次就完成...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 357
精华内容 142
关键字:

串口通信工作原理