打印

(急)8051的串口通信问题2

[复制链接]
4833|35
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
blackbanana|  楼主 | 2010-8-3 18:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在一般异步串口通信格式帧都为:起始位(0)+8位数据位+终止位(1,1.5,2),但如果我单片机起数据采集的作用,完整的一组二进制数据是十三位,是要分两次传送,变为起始+8位+终止位,起始+(有效)5位+终止位吗??   
有办法设定数据格式为  起始位+13位数据位+终止位这样的格式吗

相关帖子

沙发
冷漠| | 2010-8-3 18:55 | 只看该作者

利用这3位几乎实现 HDLC啦,厉害!

本帖最后由 冷漠 于 2010-8-3 19:01 编辑

你把后5位充填3个0,变为一组数据传送2字节8位不就行啦。利用这3位空位还可以设置8个帧序号,简单协议确认发送/ 接收。何乐而不为?

使用特权

评论回复
板凳
blackbanana|  楼主 | 2010-8-3 19:08 | 只看该作者
本帖最后由 blackbanana 于 2010-8-3 21:07 编辑

8个帧序号我再看看,不太懂...那我说的13数据位可以实现吗??怎么实现 2#

使用特权

评论回复
地板
rwy198155| | 2010-8-3 20:10 | 只看该作者
按楼上说的做,传两个字节。你自己说的13数据位无法实现!

使用特权

评论回复
5
blackbanana|  楼主 | 2010-8-3 21:07 | 只看该作者
...我的回帖后面怎么有冷漠...

使用特权

评论回复
6
ouyangsue| | 2010-8-3 22:58 | 只看该作者
一次只能发八位数据,除非你有16位的单片机做

使用特权

评论回复
7
ayb_ice| | 2010-8-4 08:29 | 只看该作者
LZ
还没有概念

使用特权

评论回复
8
blackbanana|  楼主 | 2010-8-4 09:13 | 只看该作者
我先不结贴,把东西做一做再说,不懂再请教各位哈 7# ayb_ice

使用特权

评论回复
9
blackbanana|  楼主 | 2010-8-4 09:13 | 只看该作者
我先不结贴,把东西做一做再说,不懂再请教各位哈 6# ouyangsue

使用特权

评论回复
10
冷漠| | 2010-8-4 09:42 | 只看该作者

距离远或者高速通信可能就需要一些简单协议了。

本帖最后由 冷漠 于 2010-8-4 09:48 编辑

挺简单的标准协议。但是过去不知世界上有多少人花费了毕生精力才研究总结出来的。我们今天只是享用他们的心血成就。
……为了防止消息丢失,发送方和接收方可以达成如下一致:一旦信息被接收到,接收方马上回送一条特殊的应答(acknowledgement)消息。如果发送方在一段时间间隔内未收到应答,则进行重发。
(所谓特殊的应答ack 就是用序号表示的“我已收到你发来的第N 帧消息,希望下一帧你发送第 M 帧消息。——冷漠注)   

    现在考虑消息本身被正确地接收,而应答信息丢失的情况。发送者将重发信息, 这样接收者将接收到两次。对于接收者来说,区分新消息和一条重发的老消息是非常重要的。通常采用在每条原始消息中嵌入一个连续的序号来解决该问题。如果接收者收到一条消息,它具有与前一条消息一样的序号,则它就知道这条消息是重复的,可以忽略。
      …………

                                 ——摘自《……》

使用特权

评论回复
11
宇容创行| | 2010-8-4 10:11 | 只看该作者
楼主把简单的事情复杂化了

使用特权

评论回复
12
swqaswqa| | 2010-8-4 10:17 | 只看该作者
13数据位无法实现

使用特权

评论回复
13
zjswuyunbo| | 2010-8-4 11:32 | 只看该作者
现在貌似没有,这个不是很标准的东西吧

使用特权

评论回复
14
5880527| | 2010-8-4 11:32 | 只看该作者
LZ是用来学习的还好,如果是产品,那真不敢想象

使用特权

评论回复
15
btzhy| | 2010-8-4 12:44 | 只看该作者
一次只能发八位数据,除非你有16位的单片机做
ouyangsue 发表于 2010-8-3 22:58

就是32位,64位的单片机,也只能发8bit,呵呵,这个跟单片机位数无关

使用特权

评论回复
16
pengfei06| | 2010-8-4 17:13 | 只看该作者
老老实实发两次吧

使用特权

评论回复
17
pzc007| | 2010-8-4 17:44 | 只看该作者
怎么赚积分???

使用特权

评论回复
18
ouyangsue| | 2010-8-4 23:18 | 只看该作者
这些是最基本的东西,你连书上的基本知识都搞不清楚还做什么设计?

使用特权

评论回复
19
blackbanana|  楼主 | 2010-8-5 10:46 | 只看该作者
我对这些应答什么的还有点模糊,谢谢你呵 10# 冷漠

使用特权

评论回复
20
blackbanana|  楼主 | 2010-8-5 10:48 | 只看该作者
我知道一般的是8位,但想不通为什么只能是8位??按15楼的说法,高位数的单片机不是很麻烦吗?? 11# 宇容创行

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

37

帖子

1

粉丝