找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 3753|回复: 16

[求助]关于串口数据如何换行显示?

[复制链接]
发表于 2005-7-17 23:36:11 | 显示全部楼层 |阅读模式
我的串口读写程序可以正常工作,但是在read buffer中显示的数据为一大片一大片,我用的是16
进制显示;我现在想把每一条发送和接收的数据分行显示,即对发送和接收到的数据逐行显示,
请问如何实现??请大侠们指点!![em06]
 楼主| 发表于 2005-7-18 16:57:21 | 显示全部楼层
谢谢cpubbs,我找找吧;但是我每次的发送和接收的数据不是固定的,我逐行显示的目的就是要分别出发送和接收。[em04]
回复 顶

使用道具 举报

发表于 2005-7-18 17:00:23 | 显示全部楼层
<>要分别出发送和接收,可以用连接字符串的方法!concatenate string!</P>
回复 顶

使用道具 举报

发表于 2005-7-18 06:10:24 | 显示全部楼层
有一个属性叫做size to string length的好像是!你找找!应该会有的,它自动调整这个显示框的长度的,使它自动适应长度变化,然后自动变化长度!
回复 顶

使用道具 举报

发表于 2005-7-18 17:02:39 | 显示全部楼层
<>这个是UDP发送消息的,有点类似你所说的分开发送与接收数据的,你参考这一部分!</P><>http://www.cpubbs.com/Soft_Show.asp?SoftID=93</P>
回复 顶

使用道具 举报

 楼主| 发表于 2005-7-18 17:19:25 | 显示全部楼层
<>我的发送和接收都是没有问题的,例如在read buffer里显示:0F45 1267 98AB 99C5 15CE 59FF 0719 44DF ……数据是一大块,现在我想把它们显示为</P><>0F45 1267 98AB 99C5 </P><>15CE 59FF 0719 44DF</P><P>这样逐行显示,一行是发送的数据,一行是接受的数据,不知道版主明白我的意思了没有??十分的感谢,谢谢你了:)</P>
回复 顶

使用道具 举报

 楼主| 发表于 2005-7-18 17:23:12 | 显示全部楼层
我觉得我的问题是出在显示方面,我不知道如何在发送完成和接收完成后,将数据在read buffer里换行显示。
回复 顶

使用道具 举报

发表于 2005-7-18 18:36:06 | 显示全部楼层
你把这个显示的框框调整好大小,它会自动换行的呀!
回复 顶

使用道具 举报

 楼主| 发表于 2005-7-18 19:09:47 | 显示全部楼层
<>[em04] 不是这样的,您没有理解我要达到的目的,因为我的发送和接收的数据的长度不相同,并且每条发送的命令数据的长度也可能不一样,所以通过调整显示框的大小,并不能达到我所要的自动换行的要求。请看通过调整显示框,我得到以下数据:</P><>FFFF FFFF FF06 8000 0E00 00FE A67C 0505 0502 1800 0001 9123</P><>FFFF FFFF FF06 8000 0E00 00FE A67C 0505 0502 1800 0001 9123</P><P>FFFF FFFF FF02 8000 0082 0000 FFFF FFFF FF06 8000 0E 00 00FE</P><P>A67C 0505 0502 1800 0001 9123 </P><P>第一、二行的数据达到要求,第三行的数据显示不对我希望是如下显示:</P><P>FFFF FFFF FF06 8000 0E00 00FE A67C 0505 0502 1800 0001 9123 (从机回答数据)</P><P>FFFF FFFF FF06 8000 0E00 00FE A67C 0505 0502 1800 0001 9123 (从机回答数据)</P><P>FFFF FFFF FF02 8000 0082 0000 (主机发送数据)</P><P>FFFF FFFF FF06 8000 0E 00 00FE A67C 0505 0502 1800 0001 9123 (从机回答数据)</P><P>我不知道应该怎样达到这种发送和回答分行显示的效果,这样说您清楚了吗?还是很感谢您的帮助,谢谢,比较急,我已经想了好几天了</P>[em06]
回复 顶

使用道具 举报

发表于 2005-7-18 22:25:55 | 显示全部楼层
用concatenate的确是能实现,就是还要在循环里面加个移位寄存器,然后每次的后面再加一个回车,就能实现的啦!就在哪个UDP做的程序里面就有这样子做的呢,你看看!
回复 顶

使用道具 举报

发表于 2005-7-18 22:26:18 | 显示全部楼层
加一个回车符就行的!
[此贴子已经被作者于2005-7-18 14:26:41编辑过]

回复 顶

使用道具 举报

 楼主| 发表于 2005-7-18 22:52:45 | 显示全部楼层
我在看,不过比较复杂,一时看不大懂;移位寄存器是不是rotate string??还有就是我要显示的是16进制的数据,回车和换行字符就显示为0A0D了[em04]
回复 顶

使用道具 举报

 楼主| 发表于 2005-7-18 22:52:55 | 显示全部楼层
我在看,不过比较复杂,一时看不大懂;移位寄存器是不是rotate string??还有就是我要显示的是16进制的数据,回车和换行字符就显示为0A0D了[em04] 谢谢大侠了
回复 顶

使用道具 举报

 楼主| 发表于 2005-7-18 23:18:03 | 显示全部楼层
[em06]我试了,要是在循环里面加上回车字符,它不是回车,而是一旦运行就显示0D,而且是不断的显示,直到程序停止运行[em06]
回复 顶

使用道具 举报

发表于 2005-7-24 04:15:01 | 显示全部楼层
版主的方法是很好的,支持一下,你在concatenate中加一个回车符就可以实现换行了,不难实现。
回复 顶

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-29 04:29 , Processed in 0.059436 second(s), 7 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表