单片机串口问题!

单片机串口问题!用PC发送一个16进制数0-65536之间任意,动态数码管显示,我程序写出来了,可发送数后这样的规律:0--49;1--50;2--51;3--52;..... 单片机串口问题!
用PC发送一个16进制数0-65536之间任意,动态数码管显示,我程序写出来了,可发送数后这样的规律:0--49;1--50;2--51;3--52;......9--58;
还有关于在一个发送数的前面加序号,一同显示,是如何加上去的,?请高手指点!
高手们,如果想用串行中断显示65535以内的数,怎么分开发?需要在程序中写?还是用串口助手分开写?
展开
 我来答
cdyzxy
2013-11-20 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3736万
展开全部
规律实际上是:'0'-49,'1'-50,'2'-51,...
你发送前将发送的数值减去'0'即可;
你可以一次发两个数,第一个数是计数值,第二个数是任意数,然后一次显示即可。
0~65535数据可以分成4个字节分别顺序发送。
做而论道
高能答主

2013-11-20 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
串口收发一次,仅仅是8位数,即:0~255。

0-65536,你是怎么发送的?
-------------
串口通信,每次传输,只能是 0~255。
不要以为可以传输 0~255,就可以用同样的方法传送 0~65536 了。
这是不可能的。
网上流传的这个题目,实际上是一种误导。
出题的人,应该还是不懂明白串行通信的基本方法,或者就是有意的进行误导。
-------------
把一个字节(0~255)传送成功之后,接着,应该学习的是:多字节的数据传输。
这方面的规则或协议,就是 MODBUS。

一般来说,一组数据应该包括:
1、地址码
2、功能码
3、数据区
4、校验码(常用CRC校验)

利用这种方法,一对多的串口网络通信,或者说是多机通信,都是可以实现的。
通信的内容,也不限于数据,长篇大论的字符串,也都可以。
追问
他说的发送65535以内的数,是不是就是你所说的一组字符串?比如我把65535分开发:‘6‘,’5‘,’5‘,’3‘,’5‘;这样吧!!高手,我是初学者,你说的MODBUS协议我听过,但着实不懂!我把我写的用私信发给你了,你帮看下,我的目的就是用串口助手输入多少,数码管就显示多少!哪里需要改?
追答
我的目的就是用串口助手输入多少,数码管就显示多少!
--这种思路,只能在 0~255 范围内实现。
--发送这些:‘6‘,’5‘,’-‘,’3‘,’5‘,'4','2',7','9'。。。
--显示出来:65-5354279。。。

--这也是一种方法。

既然,暂时,MODBUS 你还弄不了,提示给你一个简单的办法吧。

比如想要发送 16 位数:38624,16 进制就是:96E0H。

用串口助手,应该发送:09H、16H、2EH、30H。
发送四次,共四个字节。

每个字节的前半部0123,代表这是第几个字节;后半部96E0,才是数据。

接收机,收齐了四个字节,拼凑出来完整的数据,再一次性的显示出来。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式