社区
Windows SDK/API
帖子详情
请问函数createfile(打开串口)的返回值是什么类型的?
jxfzy
2004-01-09 01:37:39
在DELPHI中用什么类型啊
...全文
442
8
打赏
收藏
请问函数createfile(打开串口)的返回值是什么类型的?
在DELPHI中用什么类型啊
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
stephenland74
2004-01-12
打赏
举报
回复
是一个句柄,今后所有对该串口操作的函数均会引用该句柄的,HANDLE就是铁锅把手,铁锅就是容器,用来炒菜,没有把手怎么能行呢?
cooling
2004-01-11
打赏
举报
回复
跟踪下去是一个 LongWord 类型的
Sumie@Sam
2004-01-11
打赏
举报
回复
句柄THandle
dqycxf
2004-01-11
打赏
举报
回复
Long,如执行成功,则返回文件句柄。INVALID_HANDLE_VALUE表示出错,会设置GetLastError。
jpyc
2004-01-09
打赏
举报
回复
Thandle是个句柄
cooling
2004-01-09
打赏
举报
回复
function CloseCom(ComHdl: THandle): Boolean;
//关闭串口
begin
Result := CloseHandle(ComHdl);
end;
cooling
2004-01-09
打赏
举报
回复
function OpenCom(pComPort : Byte; iBaundRate : Integer): THandle;
// 打开串口
// pComPort: 串口名称或设备路径,可用"COM1"或"\\.\COM1"两种方式,建议用后者
// iBaundRate: 波特率
var
ComHdl: THandle;
Dcb: TDCB;
TimeOut: ComMtimeOuts; //100, 1, 500, 1, 100
pTpPort: PChar;
begin
pTpPort := PChar('com' + IntToStr(pComPort));
TimeOut.ReadIntervalTimeout := 100; //读字符间隔超时时间: 100 ms
TimeOut.ReadTotalTimeoutMultiplier := 1; //读操作时每字符的时间: 1 ms (n个字符总共为n ms)
TimeOut.ReadTotalTimeoutConstant := 500; //基本的(额外的)读超时时间: 500 ms
TimeOut.WriteTotalTimeoutMultiplier := 1; //写操作时每字符的时间: 1 ms (n个字符总共为n ms)
TimeOut.WriteTotalTimeoutConstant := 100; //基本的(额外的)写超时时间: 100 ms
ComHdl := Createfile(
pTpPort, //串口名称或设备路径
Generic_Read or Generic_Write, //读写方式
0, //共享方式:独占
nil, //认的安全描述符
open_existing, //创建方式
0, //不需设置文件属性
0 //不需参照模板文件
);
if (ComHdl = Invalid_Handle_Value) then
begin
Result := ComHdl; //打开串口失败
Exit;
end;
GetCommState(ComHdl, Dcb); //取DCB
Dcb.BaudRate := iBaundRate;
Dcb.ByteSize := 8;
Dcb.Parity := EvenParity;
Dcb.StopBits := 1;
SetCommState(ComHdl, Dcb); //设置DCB
SetUpComm(ComHdl, 4096, 1024); //设置输入输出缓冲
SetCommTimeOuts(ComHdl, TimeOut); //设置超时
Result := ComHdl;
end;
cooling
2004-01-09
打赏
举报
回复
Thandle
深入分析Visual C++进行
串口
通信编程的详解
利用Visual C++在windows环境下设计异步串行通信程序可以使用不同的方法。一种方法可以使用windows系统提供的串行口API
函数
;另一种方法可以直接使用Microsoft公司提供的ActiveX控件MSCOMM.OCX。利用MSCOMM.OCX控件进行串行口程序设计相对比较简单,只要对该控件的属性、事件和方法进行设置和操作,就能完成简单的串行通信功能。而直接使用windows系统提供的串行口API
函数
则相对较为灵活。试验中,可根据自己的情况任意其中一种进行编程。以下针对如何使用windows系统提供的串行口API
函数
进行编程做简要介绍在windows系统,串行口和其它通信设备都是
Create
File
()
打开
串口
失败,返回句柄值为0xffffffff
出错情况:设备1和设备2分别使用COM1和COM2外界通信,在不关闭软件的情况下,调换
串口
(即设备1/2,分别使用COM2/1),此时出错?以下是查找原因的步骤: _hCommHandle = ::
Create
File
( _szCommStr, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING,
FILE
_FLAG_OVERLA
Create
File
打开
串口
失败,返回INVALID_HANDLE_VALUE
近来在做
串口
方面的程序,使用
Create
File
打开
串口
,却一直失败,代码如下: HANDLE hCom=
Create
File
("COM10",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL); 但问题的奇怪之处在于换一个硬件后,
打开
COM6端口,他又成功了。。。 查阅良久,找到了MSDN上的解释:http://support.m
c语言
create
file
函数
,c ++
Create
File
函数
错误[关闭](c++
Create
File
function error [closed])
c ++
Create
File
函数
错误[关闭](c++
Create
File
function error [closed])我想使用
函数
Create
File
来创建一个文件,但有些东西是错的,我不知道是什么。 GetLastError()给出错误87,这是参数不正确,但我找不到哪一个。码:HANDLE
Create
;
Create
=
Create
File
("D:\Test.txt",GENERIC...
C++
串口
常用
函数
小结
准备下一篇带来一个自己手工制作的C++ 简易版
串口
调试助手 所以先来点基础知识储备吧。 (1)
打开
串行口 在对串行口进行所有的操作之前,首先要将其
打开
。串行口的
打开
可以使用
Create
File
函数
,
Create
File
函数
将返回一个句柄,在随后与该串行口相关的各种操作中使用。与文件操作相同,在利用
Create
File
打开
串行口时,也可以将串行口指定为“读访问权限”、“写访
Windows SDK/API
1,183
社区成员
22,335
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章