串口编程问题 ( 积分: 100 )

  • 主题发起人 主题发起人 lovedf
  • 开始时间 开始时间
L

lovedf

Unregistered / Unconfirmed
GUEST, unregistred user!
新手,第一个项目就是 ID消费系统, 很多地方不熟悉。 系统虽然做起来 并且有客户在使用,但是一直有这样一个问题没有解决 ,就是有死机现象。
我用的是CNRS232 控件,波特率为 9600。
之前死机现象有点频繁。猜测可能是在调用 读写 命令时没有 处理好(为了使我《PC机》在处理纪录的时候,窗口机不能发送数据,特意有一个线程发送低电平,计算机处理完成线程挂起)。 之后在发送命令前判断 串口是否在发送命令,如果是则等待。 这样虽然减少了死机频率,但是还是存在。一直困扰 不知道是什么原因!
希望有经验的 能提示一二 !
还有我感觉我们的波特率 9600 小了,前些天 我看见一个同类型的,他们的波特率是我们的四倍。
还有窗口机越多,死机越频繁。
苦闷中 。。。。。。。
 
“波特率 9600 小了”
你以为想快就能快吗?这是下位机说了算的!!与下位机不匹配的话,发送信号与接收信号将无法保证能完整通讯,同时将会被要求不断的重发......
-
看样子是你的线程写得不好!
ID消费与IC消费不同,ID消费要求在线方式,不知道你老是让线程挂起,这样能保证在线连接吗?
 
其实我做的就是卖饭的, 20台窗口机。消费集中。
我所说的挂起 是发低电平 那个线程挂起。(之前没有说清楚),之后发现在如果在发送数据 去挂起的话就会引起死机 。 所以在挂起之前做了一个判断,这样减少一些 死机现象。至于为什么还有, 还是不得而知。
还有一个就是,在发广播命令时(窗口机给要回复),爱死机 。
其他正常消费时 倒是瞒稳定, 不过没有经过长时间的检测!
 
后退
顶部