
上位机与下位机串口通信,串口工作方式1每次只能发1个字节的数据,如何发送多字节数据,具体如下
上位机与下位机串口通信,一次发8个字节的数据,串口工作方式1不是一次只能发送1字节数据么?现在我有10个传感器的参数需要发给上位机,那就是10个字节了,是进10次中断,发...
上位机与下位机串口通信,一次发8个字节的数据,串口工作方式1不是一次只能发送1字节数据么?现在我有10个传感器的参数需要发给上位机,那就是10个字节了,是进10次中断,发送十次数据,每发一次存入数组一次吗?求解高手,串口新手。追加悬赏!谢谢
展开
3个回答
展开全部
当往 SBUF写入1个八位数据时,启动发送操作,数据从TXD端实现异步发送。发送完一帧数据后自动置TI=1,请求中断。要继续发送时,TI清零便可。
你可以自己写一个连续发送的函数:只要发送前9个数据后,TI清零就成。
或者写一个一次之功能发送一个字节的函数,然后利用循环调用前面的函数,实现10个数据的发送。。。
大多数情况都用后者吧。。。
你可以自己写一个连续发送的函数:只要发送前9个数据后,TI清零就成。
或者写一个一次之功能发送一个字节的函数,然后利用循环调用前面的函数,实现10个数据的发送。。。
大多数情况都用后者吧。。。
展开全部
串口每次只能收、发1个字节,这是肯定的。
当连续发送多字节,接收方是难以判断,那个是第一字节、那个是第二字节...,就无法进行数据处理。
发送多字节时,必须先发送一个标志的字节,如:'$',然后顺序发送数据:第一字节、第二字节...,这时,接收方就可以判断、处理了。
这就是所谓的““协议””。
协议,完全可以自己制定,也可以参考其它的通用型的。
可以参考以前的问答:
http://zhidao.baidu.com/question/348313082.html
当连续发送多字节,接收方是难以判断,那个是第一字节、那个是第二字节...,就无法进行数据处理。
发送多字节时,必须先发送一个标志的字节,如:'$',然后顺序发送数据:第一字节、第二字节...,这时,接收方就可以判断、处理了。
这就是所谓的““协议””。
协议,完全可以自己制定,也可以参考其它的通用型的。
可以参考以前的问答:
http://zhidao.baidu.com/question/348313082.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一般工业现场是这样的 一条报文中有很多个字节 一般7-20,看情况,
每个字节定义好表达的意思,比如第一个字节可能表示开始符?或者设备地址?第二个字节表示功能码或者什么的,当然你的这个简单 可以直接 初始符+10个字节+校验就ok了。。。
发送报文的时候,字节与字节的区分是停顿发送高低电平的时间,,,,
你可以百度下报文发送的规则,然后看看modbus协议就懂了!~
每个字节定义好表达的意思,比如第一个字节可能表示开始符?或者设备地址?第二个字节表示功能码或者什么的,当然你的这个简单 可以直接 初始符+10个字节+校验就ok了。。。
发送报文的时候,字节与字节的区分是停顿发送高低电平的时间,,,,
你可以百度下报文发送的规则,然后看看modbus协议就懂了!~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |