S sunnysheng Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-05 #1 我看了网上好多的利用线程通讯的文章,就是看不懂线程是怎样工作的? 用ReadFile()函数读串口是一个字符一个字符的接收的吗? 还是,一次性读设备缓冲区中的内容的. 请教高手!!!
S sunnysheng Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-05 #3 我编的串口接收程序,总是接收的乱七八糟的字符,只有在打开其它现成的串口调试工具读过 一遍后,才能使用我编的程序读,我想是因为没有清空缓冲区中的内容,或是其它的原因,但我 实在不知道该怎样做.
S sunnysheng Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-05 #5 波特率9600 数据位8 停止位1 校验位none 这些串口初始化我都做了,我在其它程序读过后 就能显示该显示的字符了.
C cook Unregistered / Unconfirmed GUEST, unregistred user! 2002-07-07 #9 spcomm有原码的,你看看人家是怎么做的。 系统的串口缓冲区只有一个字节的。
X x_coffee Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-11 #12 是不是漏了这步? SetupComm (handleComm, 2048, 1024);
李 李艾 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-13 #13 波特率、数据位、停止位、校验位上下位机要一样才能准确接收。
Q QSmile Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-13 #14 to Cook : 系统的缓冲区绝对不至一个字节。 to:楼主, 把你读串口的哪几段代码贴出来。 我看看。
C crpp51008 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-20 #15 我一般用MSCOMM控件,对于你的问题或许可以解决. 你可以设置好Settings 好后,用 送出你的字符String mscomm1.outbufferlength:=0; Mscomm1.output(string); Mscomm1.inbufferlength:=0 接受设备应答值 do memo1.lines.add(mscomm1.input); until Mscomm1.inbufferlength=0
我一般用MSCOMM控件,对于你的问题或许可以解决. 你可以设置好Settings 好后,用 送出你的字符String mscomm1.outbufferlength:=0; Mscomm1.output(string); Mscomm1.inbufferlength:=0 接受设备应答值 do memo1.lines.add(mscomm1.input); until Mscomm1.inbufferlength=0