上位机与下位机串口通信,串口工作方式1每次只能发1个字节的数据,如何发送多字节数据,具体如下

上位机与下位机串口通信,一次发8个字节的数据,串口工作方式1不是一次只能发送1字节数据么?现在我有10个传感器的参数需要发给上位机,那就是10个字节了,是进10次中断,发送十次数据,每发一次存入数组一次吗?求解高手,串口新手。追加悬赏!谢谢

当往 SBUF写入1个八位数据时,启动发送操作,数据从TXD端实现异步发送。发送完一帧数据后自动置TI=1,请求中断。要继续发送时,TI清零便可。
你可以自己写一个连续发送的函数:只要发送前9个数据后,TI清零就成。

或者写一个一次之功能发送一个字节的函数,然后利用循环调用前面的函数,实现10个数据的发送。。。
大多数情况都用后者吧。。。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-18
串口每次只能收、发1个字节,这是肯定的。
当连续发送多字节,接收方是难以判断,那个是第一字节、那个是第二字节...,就无法进行数据处理。
发送多字节时,必须先发送一个标志的字节,如:'$',然后顺序发送数据:第一字节、第二字节...,这时,接收方就可以判断、处理了。
这就是所谓的““协议””。
协议,完全可以自己制定,也可以参考其它的通用型的。
可以参考以前的问答:
http://zhidao.baidu.com/question/348313082.html
第2个回答  2011-12-19
一般工业现场是这样的 一条报文中有很多个字节 一般7-20,看情况,
每个字节定义好表达的意思,比如第一个字节可能表示开始符?或者设备地址?第二个字节表示功能码或者什么的,当然你的这个简单 可以直接 初始符+10个字节+校验就ok了。。。
发送报文的时候,字节与字节的区分是停顿发送高低电平的时间,,,,
你可以百度下报文发送的规则,然后看看modbus协议就懂了!~

单片机串口通信用的同步多还是异步多
串口通信是异步的,全称串行异步通信,所谓异步就是没有同步信号,随机发送的,就比如你下位机和上位机的串口通信,都是随时会通信的,通信速度取决于波特率,例如19200就是9600的两倍,至于格式,串口通信每次传输一个字节,即1B,当传输一串数据的时候,就是nB ...

关于单片机串口同时收发数据的时序问题
1.不管你有没有处理RI,还是在继续接收数据的。数据接收完成之后,数据从移位寄存器转移到数据寄存器中,这时才产生中断,但移位寄存器是空的,还可以继续接收数据。2.你想让串口的收和发同时工作,那就只能使用中断方式,你用查询方式是不可能的。如果是使用“半双工”,那就简单些:A查询方法发送数据,B以查询方式接收...

谁能给我一个上位机控制下位机的串口通信程序(C语言编写吧)
最好是这样,上位机为显示板部分,上位机要求下位机驱动一个电机转动10圈,另一个电机转动20圈,此外还要电机转动的同时,下位机向上位机传输电机转动的速度参数。谢谢!最好是程序实... 最好是这样,上位机为显示板部分,上位机要求下位机驱动一个电机转动10圈,另一个电机转动20圈,此外还要电机转动的同时,下位机向...

上下位机浮点数的传输方法
然后:(a>>24)&(0X0011) = 00(最高位字节);(a>>16)&(0X0011) = 01(次高位字节);(a>>8)&(0X0011) = 39;a&(0X0011) = DE(最低位字节);最后将其值分别赋值给一个数组,利用串口传输出去。    3、整数求余的方式实现     比如a = 54321,a%10 =...

上位机与下位机通讯方式的比较
为实现通信正常,PC机与单片机约定如下:波特率2400bps;信息格式1个起始位,8位数据位,1个停止位,无奇偶校验位;串行口操作模式标准异步串行通信,串行口模式1;传送方式:PC机采用查询方式接收数据,8051单片机采用中断方式接收信息。6. 系统功能模块图和通讯流程图分别展示了上位机和下位机模块的功能和...

上位机与下位机通讯方式的比较
Number:下位机的机号,若设计中有3台下位机,即Number 取01H,02H,03H,分别代表:#1,#2,#3号下位机;Command:本次命令的代码;Length:本次发送数据段的字节数;Data:要发送的数据段;Check:1字节的校验码。本设计只考虑一个8051单片机,故可对上述通信协议进行简化。3.2 8051和PC机之间通信的...

上位机与下位机之间的连接方法是什么
上位机与下位机之间的连接方法主要有两种:USB和串口。上位机通常指的是计算机,而下位机则是指内含单片机(MCU)的电子设备。大多数现代计算机都配备了USB接口,而一些单片机也支持USB接口,能够与计算机进行高效通讯。当然,这种通讯需要双方都运行相应的通讯程序。除了USB,串口也是一种常用的连接方式。几...

LED显示屏上位机和下位机通信。
可以采用flash芯片(比较贵)或者串行的EEprom芯片比较便宜,这些都是断电也保持数据的。也可以采用Ram+记忆电池(电池断电就没数据了)。程序的话,写好串行通信和数据保存读取的程序。点阵显示程序我就不提了。如果你的设计带字库的话,你上位机穿的数据,每双字节就是1个汉字了。

就业工作方向选择,不知道做单片机的上位机开发还是下位机开发
都有好前途,都成就人。关键是要做好,这个世界上没有一个职业,不精益求精就可以有好前途的;也没有一个职业,是精益求精后没有好前途的。关键是你自己爱好,爱好就不会感觉枯燥,不会觉得烦,不会觉得累,才可以作为一辈子的职业。这两个方向都需要坚韧不拔的毅力,和全心全意的精力付出。

工业串行总线MODBUS协议规定
上位机发送数据时,首先通过一个8个字节的指令进行召测操作。这8个字节指令中,包含了地址、设备类别、通信路由、指令类别、指令长度以及CRC校验码。具体地,地址、设备类别、通信路由、指令类别和指令长度各占1个字节,而CRC校验码则占2个字节。在收到上位机发送的指令后,下位机会进行响应。下位机的...

相似回答