打印

用51单片机中的SBUF怎么传输两个字节的数据?

[复制链接]
18958|32
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bin126_com|  楼主 | 2012-2-29 15:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
ayb_ice| | 2012-2-29 15:11 | 只看该作者
8*2=16

使用特权

评论回复
板凳
bin126_com|  楼主 | 2012-2-29 15:21 | 只看该作者
我是菜鸟,希望老鸟们的回答不要那么深奥含蓄······:L

使用特权

评论回复
地板
ayb_ice| | 2012-2-29 15:34 | 只看该作者
BAIDU
打包传输

使用特权

评论回复
5
coody| | 2012-2-29 16:37 | 只看该作者
无限个字节都可以传。。。

使用特权

评论回复
6
bin126_com|  楼主 | 2012-2-29 16:44 | 只看该作者
以16进制发送一个0-65536之间的任一数,当单片机收到后在数码管上动态显示出来,波特率自定

谁能花一分钟给俺写个示例啊!!想了一下午了,没人可以问,就自己在学,看书也没什么结果!!:Q:Q

谢谢了!!!!!!

使用特权

评论回复
7
ayb_ice| | 2012-2-29 17:01 | 只看该作者
最简单的收到两个字节就显示

使用特权

评论回复
8
qinshihao| | 2012-2-29 19:48 | 只看该作者
支持楼上的想法,接受数据的那个51整一个字来存放SBUF中传过来的数据,每两次接收完SBUF的数据后,就进行显示,注意使用串口工作模式1

使用特权

评论回复
9
bin126_com|  楼主 | 2012-2-29 22:16 | 只看该作者
最简单的收到两个字节就显示
ayb_ice 发表于 2012-2-29 17:01

您的意思是收到两个子节后,在软件程序中把收到的两个字节合并为一个数据(int型),再放在数码管上显示?

使用特权

评论回复
10
chunyang| | 2012-2-29 22:19 | 只看该作者
分两次传,显示时也要分别显示高8位和低8位,这也不是直接处理16位数据的,除非你使用16位的MCU。

使用特权

评论回复
11
bin126_com|  楼主 | 2012-2-29 22:59 | 只看该作者
我想达到这样的效果:上位机发送FFFE,数码管上显示65534 ,虽然要分两次发送,但这种16位数据整体显示,这种结果是分开显示呢还是要拼接合并呢? 我一样都不会·········

使用特权

评论回复
12
ayb_ice| | 2012-3-1 08:34 | 只看该作者
基础太差,没有办法

使用特权

评论回复
13
huzaizai007| | 2012-3-1 08:45 | 只看该作者
分开显示还是合并显示,显示效果都是一样的

使用特权

评论回复
14
chen_chuang| | 2012-3-1 08:59 | 只看该作者
不懂

使用特权

评论回复
15
h615| | 2012-3-1 10:43 | 只看该作者
分成4位,HEX  :FFFE,发的时候3f,3f,3f,3e,头字节加个20
整合起来就是 20h,3fh,3fh,3fh,3eh
这样把

使用特权

评论回复
16
andyding| | 2012-3-1 13:02 | 只看该作者
对LZ这样的只能说无语

使用特权

评论回复
17
小小袋鼠| | 2012-3-1 14:30 | 只看该作者
我同意10楼的想法,就分开送,送的时间很短,你肉眼看不见区别的,,数码管上还是同时显示的

使用特权

评论回复
18
bin126_com|  楼主 | 2012-3-1 16:32 | 只看该作者
我自己搞出来了·····:time:

使用特权

评论回复
19
Cortex-M0| | 2012-3-1 17:00 | 只看该作者
:victory:

恭喜LZ,  功力有上一台阶

使用特权

评论回复
20
bin126_com|  楼主 | 2012-3-1 18:36 | 只看该作者
Cortex-M0 老大都来顶我一下,真是惭愧啊·····
我用的是合并方法,,分两次发送,要显示小于256的数时得先发0,再发数,大于256得数直接发两次就行了。
这样有点麻烦,不过总算让我搞出来的,算是达到了自己预想的结果,这道题是郭天祥老师的视频里的,我看差不多了,还剩液晶和IIC总线还没看,继续**吧!!!:hug:

使用特权

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

本版积分规则

7

主题

118

帖子

0

粉丝