紧急求助!串口通讯显示问题 ( 积分: 50 )

  • 主题发起人 主题发起人 jainibunan
  • 开始时间 开始时间
J

jainibunan

Unregistered / Unconfirmed
GUEST, unregistred user!
我在做一个信号采集系统,可当我打开串口数据开始接受时(显示在memo上),不知怎么回事,memo的滚动条在动,可就是看不见数据,memo里是空白的,而且程序好像很卡的样子,不知这是怎么一回事呢? 请大家帮帮我啊,我要急用!
 
界面是不是要重绘一下,refersh,呵呵
 
to haibingj
请说具体点,好吗?
帮我分析一下原因!
 
估计你没有把接收到的数据转换成可见字符,所以 memo 显示不出来。
 
to kaida
那该怎么办才?
 
可以转换为十六进制
 
估计接收的时候有不可见字符,或者开头字符为NULL.这些都不能直接用string显示出来,
1。碰到NULL, string就以为是字符串结束,不再输入以后的字符了。
2。串口数据贞的定义一般开头都是不可见字符。

用Lengh或者长度,或者直接在读取数据时获得字符串长度,然后一一转化为16进制显示出来。如 Inttohex(ord(char),2)
 
呵呵,此问题已解决了! 现在又碰到一个问题,就是数据在memo上显示的超快,数据一接受,那个程序就卡住了,请问一下有何办法呢?
 
你每次显示完成后,加上application.processmessages
 
或者多线程,其实串口程序如果不是多线程,后面的事情还会很多的
 
to 壁画 大侠:
按你做后,怎还是不行呢? 一按接受键后,memo上就有很多数据显示出来,而程序上的其它按钮如停止键也响应不了了,真不知是怎回事呢?
to 0桁骀 大侠:
请问如果用多线程,请问有什么好处呢?能详细说明一下吗?留下qq最好了,呵呵
 
接收串口数据最好还是用多线程。
 
这个问题已了!
 

Similar threads

回复
0
查看
848
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部