打印

急急急!!!单片机串行通信能否传输0~255之外的数值,好像不够用吧

[复制链接]
1807|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
miaodonglin|  楼主 | 2013-5-14 08:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题目,在用单片机做串行通讯的时候,我们所用的SBUF是单字节的寄存器,这是否意味着我们只能够传输8位,既0~255这些数值,但是我觉得不应该局限性这么大啊,楼主想传输0~600这些范围的数字给PC机,请教各位大神应该怎么做?能不能实现????急急急

相关帖子

沙发
ayb_ice| | 2013-5-14 08:38 | 只看该作者
想都不用想当然可以了,
难道8位机就不能用16位,32数据了

使用特权

评论回复
板凳
wangyy608| | 2013-5-14 08:39 | 只看该作者
。。。。。。。。。。。。。
16位拆分成2个8位,PC端再组合

使用特权

评论回复
地板
miaodonglin|  楼主 | 2013-5-14 08:41 | 只看该作者
ayb_ice 发表于 2013-5-14 08:38
想都不用想当然可以了,
难道8位机就不能用16位,32数据了

直接把数值放入SBUF吗?似乎不妥啊

使用特权

评论回复
5
miaodonglin|  楼主 | 2013-5-14 08:46 | 只看该作者
wangyy608 发表于 2013-5-14 08:39
。。。。。。。。。。。。。
16位拆分成2个8位,PC端再组合

您的意思是分别放入SBuf?我试试

使用特权

评论回复
6
受不了了| | 2013-5-14 08:52 | 只看该作者
呵呵,楼主应该不要急着写程序,先去看看书吧

使用特权

评论回复
7
ayb_ice| | 2013-5-14 08:58 | 只看该作者
实话实说,LZ根本还没有通信概念
建议先看书吧

使用特权

评论回复
8
coody| | 2013-5-14 09:34 | 只看该作者
普通的计算器(非函数计算器)好多是4位机做的,一样可以做到十进制16位计算器。

使用特权

评论回复
9
NE5532| | 2013-5-14 12:00 | 只看该作者
miaodonglin 发表于 2013-5-14 08:41
直接把数值放入SBUF吗?似乎不妥啊

楼主,你只有10根手指头,是怎么数到100的呢?

使用特权

评论回复
10
andyding| | 2013-5-14 12:44 | 只看该作者
楼上回答的经典哈

使用特权

评论回复
11
lcdi| | 2013-5-14 15:25 | 只看该作者
嘿嘿,问问楼主,串行通讯只能传1位啊,你怎么传8位的?
既然你能传8位过去,那就不能接着传,传2次就16位都过去了吧?
既然8位可以表示到255,那么16位能表示多少?

其实,这就是把数据按位拆分,传送,然后按位组合回去。如果还不清楚就看看资料,C语言里怎么表示那些数据类型,又是怎么存储那些数据类型的。

使用特权

评论回复
12
lhbzqh| | 2013-5-14 15:49 | 只看该作者
给楼主再出一个题,如何传1.23456789 这个小数呢?
这个搞清楚了,基本就不会再有这方面的问题了。

使用特权

评论回复
13
fythlhan| | 2013-5-14 16:23 | 只看该作者
9楼回答得经典!

使用特权

评论回复
14
hithms| | 2013-5-14 19:06 | 只看该作者
记得前两天有一位仁兄发帖问的问题差不多:EEPROM能不能存0~255以外的数据。
两个问题一样,呵呵。。。

使用特权

评论回复
15
dongranmengming| | 2013-5-23 22:27 | 只看该作者
怀疑楼主咋写程序的

使用特权

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

本版积分规则

2

主题

12

帖子

0

粉丝