例如:我发送一大串字符串如7B BC CD 03 77 BB DD EE FF AA BB CC, 在到达03这段数据的时候,实时发送7b bc cd 03出去。
我想我问得还不太清楚:首先上位机发送一段指令,如ab bc bd 03 66 77 88 99 00。单片机上接收到03时,就马上发送03前面的4个byte(ab bc bd 03)。剩下的未接收的byte继续完成接收。现在我这段代码已经完成了,可是有个问题,当我发送完后,剩下的没接收完的串口数据不能在接收了,只有等下上位机再发送数据的时候才把之前没接收的数据发过来。
上述的03前面的4个byte是返回给上位机的.如果问题点还是不太明白,那跪求全双工串口实例,分数再提高30
追答问题我看懂了,就根据我前面所说的,单片机是可以完成双向同步收发数据的,估计是你写的代码有问题。我现在手上也没有全双工的示例代码,建议你去网上找找范例学习一下再对你的代码进行改进。
追问现在遇到的问题是发送和接收的buf有冲突,这个你以前有没有遇到
追答我刚也去查了下资料,说是一般8位单片机是单线程处理,如果是模拟接收发送的话是无法做到全双工通信的,但是单片机里有UART,虽然只有一个SBUF,但在物理上是两个寄存器,可以完成全双工通信的。
具体看:http://zhidao.baidu.com/question/529128530.html
很感谢你,不过我还是看看吧
51单片机串口通信是全双工的,但是为什么又说它的发送和接受不可以同时进...
51单片机串口通信是全双工的,发送和接受可以同时进行。不可以同时进行的是半双工。全双工方式分别由两根不同的传输线传送数据时,通信双方都能在同一时刻进行发送和接收操作,通信系统的每一端都设置了发送器和接收器,因此,能控制数据同时在发送和接受两个方向上传送。半双工使用同一根传输线既作接收又...
MCS-51单片机什么是全双工,半双工,单工串行通信?
单工只有一根数据线,信息只能单向传送。半双工也只有一根数据线,但信息可以分时双向传送。全双工有两根数据线,可以同时双向传送。半双工可以在一个信号载体的两个方向上传输,但是不能同时传输。例如,在一个局域网上使用具有半双工传输的技术,一个工作站可以在线上发送数据,然后立即在线上接收数据,这些...
MCS-51单片机什么是全双工,半双工,单工串行通信?
单工只有一根数据线,信息只能单向传送。半双工也只有一根数据线,但信息可以分时双向传送。全双工有两根数据线,可以同时双向传送。决定程序执行顺序的寄存器是(PC),它的最大寻址范围是(64K)。PC的值是(程序运行当前)的地址。P0口当不作系统扩展时,可作(IO)使用。当作系统扩展时,P0口担任分时...
51单片机串口是什么工作方式?
串口可以有底下四种工作方式 1、方式0 串行接口的工作方式0为移位寄存器I/O方式。在串行口外接移位寄存器以扩展I/O接口,也可以外接串行同步I/O的设备。(1)方式0输出 串行口以方式0发送时,数据以RXD端串行输出,TXD端输出同步信号。当一个数据写入串行口发送缓冲器以后,就启动串行口发送器以振...
51单片机半双工和全双工发送和接收数据的时候是在同一根线上还是2根线...
全双工一般指的是异步通信。异步通信时,51单片机允许在RXD和TXD引脚(两根线)上同时进行数据收发传输,两根线上的逻辑电平高低相对于公共接地端VSS。而同步通信只能是半双工,一根线用作时钟,另一个线用来传输数据。两根线上的逻辑电平高低同样相对于公共接地端VSS。拙见,希望对你有帮助。
8051单片机的串行口具有几物理缓冲寄存器,分别对应几个逻辑地址_百度知 ...
MCS-51单片机串行口寄存器结构如图3所示。SBUF为串行口的收发缓冲器,它是一个可寻址的专用寄存器,其中包含了接收器和发送器寄存器,可以实现全双工通信。但这两个寄存器具有同一地址(99H)。MCS-51的串行数据传输很简单,只要向发送缓冲器写入数据即可发送数据。而从接收缓冲器读出数据即可接收数据。此外...
mcs51单片机的串行口是
全双工的串行通信口。MCS-51单片机内部有一个全双工的串行通信口,即串行接收和发送缓冲器(SBUF),这两个在物理上独立的接收发送器,既可以接收数据也可以发送数据。但接收缓冲器只能读出不能写入,而发送缓冲器则只能写入不能读出,地址为99H。这个通信口既可以用于网络通信,亦可实现串行异步通信,还...
51单片机通信:串口、SPI、I2C三种常用的通信方式
首先,串口通信是基础且易于操作,通过UART实现点对点通信,P3.0和P3.1引脚常用于此。它适合小型设备,但传输速率较低,不适用于高速或多设备场景。SPI通信则提供高速、全双工的特性,适用于近距离、多芯片连接,P1.5到P1.4引脚用于实现。其优点在于效率高,但连接设备数量有限。I2C通信则在多从设备...
51单片机里的RS232串口电压肯定不会超过5V,为什么还要MAX232电平转换...
和单片机通信时中间还是要MAX232芯片转换的。ISP下载线,是一种另一通信协义下载线,这个下载速度比串口快,这种下载线可以理解为全双工一样,就是收发同步,串口是收发异步的。你学单片机会学到这种协义的。 ISP下载线还带有复位信号,下载时无需手动复位单片机,下载比较方便。
51单片机中的串行接口和全双工的UART分别是指什么
串行接口是指数据一位位地顺序传送,常用的有RS232和RS485;UART是异步串行接口,即是主从机时钟频率不同步,通信是通过设置波特率实现的。UART其实就是串行接口中的一种。通信有串行、并行之分,而串行通信又有同步、异步之分。同步常用协议是SPI、IIC。异步就上面说的。