应用SPCOMM时,如何清空缓冲区(急!)(100分)

  • 主题发起人 主题发起人 逸魔
  • 开始时间 开始时间

逸魔

Unregistered / Unconfirmed
GUEST, unregistred user!
SPCOMM有没有事件是可以清空缓冲区的?
 
据我所知没有,用起停来清吧
comm1.start;
comm1.stop;
在你认为不太可能发生通讯的时候
或者是长时间没有通讯的时候。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1351732
也许对你有点用。
 
但是我要一直接收数据,如果操作COM口会不会影响通信速度?
请大虾们继续关注!
 
偶不会,帮你提:)
 
串口是通过识别电压差来获得1或者0信号的。
串口在长时间工作的时候,容易因为静电问题,导致电压差失去,然后所有的数据都不能
接收。减少线长度和保证计算机和外设之间的良好接地,再不行就加个光电隔离器。
这些是我们公司的硬件工程师说的,因为最近我也遇到同样的问题,就是如此解决。
 
硬件上不大好改动吧,现在没有在现场调试,就在实验室里应该没什么干扰。就是电话线连了两个“猫”,再加一个程控交换机。
有没有别的什么办法,SPCOMM有这样的事件吗?有没有那位仁兄对SPCOMM的源代码作了改动的?
 
我到现在还没有能找到清空串口的方法呀!
 
这样可以清:
Comm1: TComm;
PurgeComm(Comm1.hCommFile, PURGE_RXCLEAR + PURGE_TXCLEAR);
清空串口的发送和接收缓冲区, 此函数共有四个参数:
PURGE_TXABORT 终止写串口的操作,在写串口出现错误时用
PURGE_RXABORT 终止读串口操作,在读串口出现错误时用
PURGE_TXCLEAR 清空发送缓冲区
PURGE_RXCLEAR 清空接收缓冲区
DELPHI的帮助里面也有很详细的介绍!

 
请问各位大虾如何读串口数据
我想将id卡中的数据读出来。
 
后退
顶部