var
pDcb : _DCB;
Begin
hFile := CreateFile( 'COM1', GENERIC_READ or GENERIC_WRITE,
0,
nil,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
0);
GetCommState(hFile,pDcb); //应该加上这句
BuildCommDCB('9600,N,8,1',pDcb);
SetCommState(hFile,pDcb);
CloseHandle( hFile );
end;
pDcb : _DCB;
Begin
hFile := CreateFile( 'COM1', GENERIC_READ or GENERIC_WRITE,
0,
nil,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
0);
GetCommState(hFile,pDcb); //应该加上这句
BuildCommDCB('9600,N,8,1',pDcb);
SetCommState(hFile,pDcb);
CloseHandle( hFile );
end;
解决方案 »
- property filtered does not exist?
- 我的delphi7现在设置断点跟踪不了,怎么办啊?
- 程序运行结果:日本人民不是爱好和平的
- 鼠标的动态调载 Up 有分相送
- 请问哪里有formular 6下载
- 想发布一点东西,什么网站好
- 我用超级报表(vc)时在(delphi)中使用Getxxx方法返回都是空.vb没问题.
- 我在fastreport中怎么显示不了数据?(只有这么多分,解决以后一定多加分)
- 简单问题:如何在treeview1中得到子节点的路径?
- 请问,怎么用DELPHI做帮助文档?(越详细越好,我不大懂DELPHI)。谢谢!
- 1.使用mediaplayer控件,怎么才能一次播放多首歌?即放完一首继续放下一首。请高手帮助,小弟感激不尽。11
- 急!!很简单的问题!
老兄,单独运行还是要出错啊。
老兄,我在测试hawk26(老武)兄的程序同样出这个问题,他的程序没有设缓冲区啊,后来我把65536改成4096,也是一样啊,但同样的代码为什么在BCB却没事呢?
pDcb.BaudRate := 9600;
pDcb.StopBits := 1;
pDcb.ByteSize := 8;
pDcb.Parity := 0;
我用过下面的方法,是为了使串口能收到null字符:
hFile := CreateFile( PChar(gszPort), GENERIC_READ or GENERIC_WRITE,
0,
nil, //0,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL or FILE_FLAG_OVERLAPPED,
0);
GetCommState(hFile,pDcb);
pDcb.Flags := pDcb.Flags and $FFFFF7FF;
SetCommState(hFile,pDcb);
CloseHandle( hFile );
单独运行正常。
老兄,谢谢你,你真是个热心人啊,我知道可以用另外的方法,但我不明白为什么BuildCommDCB就是要出错。
我的同事用VC++测试,如果用BuildCommDCB("9600,N,8,1",&Dcb)同样运行出错,
但如果这样;
CString b="9600,N,8,1";
BuildCommDCB(b,&Dcb);//代码好象是这样的
就对啦
准备收分吧。