关于串口通信设置的问题
求教各位,先描述一下我的现象:
我的程序是用delphi写的,通过spcomm组件来实现对下位机通信.设计期操作如下:
1.设置:BaudRate:115200 CommName:COM1 ByteSize:_8 Parity:None StopBits:_1 这是按照说明上设的.说明上还有一句是:No Flow Conctrol 我不知应该设那个属性,就让它为默认的了.
2.主界面上有三个按钮功能如下:
btn1:startcomm
btn2:发送命令A;
btn3:发送命令B;
btn4:stopcomm
运行后执行:
1.点击btn1->点击btn2:执行命令A,结果正确.
2.接着1点击btn3:预计执行命令B,但是没有达到预期结果.使用串口检测设备并联到RS-232线路上.发现此时没有任何消息发送出来.
3.此时接2再点击btn4->btn1->btn3:执行命令B.显示结果正确.
4.接3点击btn2 :预计执行命令A,但同样没有任何显示.
总结上面操作得出现象结论:每次要发送一个命令之前必须重新打开一次串口,才能成功发送命令.那位能告诉我这是为什么?非常着急.谢谢大家!
问题点数:100、回复次数:6Top
1 楼tmanje(大树)回复于 2006-07-02 17:52:47 得分 0
http://community.csdn.net/Expert/topic/4855/4855627.xml?temp=.4934809 另开帖地址.谢谢Top
2 楼wanyeye(助人者天助)回复于 2006-07-03 09:16:14 得分 0
记得要清缓冲数据区
我在VC里是这么做的
PurgeComm(hComm, PURGE_RXCLEAR);Top
3 楼tmanje(大树)回复于 2006-07-03 12:23:01 得分 0
wanyeye(助人者天助)不行啊.Top
4 楼solokey(争取在2008年成为低级程序员)回复于 2006-07-03 23:18:37 得分 0
估计是软件流量控制的问题....不要设置流量控制.Top
5 楼qi7(与其临渊羡渔 不如退而结网)回复于 2006-08-05 10:54:59 得分 0
No Flow Conctrol : 无流控.
把spcomm的属性中所有为true的 改成false;Top
6 楼xjjrocker(了无痕)回复于 2006-08-08 09:46:31 得分 0
两个地方需要把属性设置Outx_CtsFlow、Outx_DsrFlow设为false就可以了,ReadIntervalTimeout设的稍微长点,比如100,其他默认。Top




