5.串口操作之API篇 SetupComm GetCommState SetCommState

SetupComm 设置串口的缓冲区

1 function SetupComm(hFile: THandle; dwInQueue, dwOutQueue: DWORD): BOOL; stdcall;  

hFile:之前用CreateFile打开的串口句柄.
dwInQueue,dwOutQueue:接收缓冲区和发送缓冲区.
返回如果是0,表示操作失败.非0表示操作成功.

GetCommState 读取串口设置(波特率,校验,停止位,数据位等).

 1 function GetCommState(hFile: THandle; var lpDCB: TDCB): BOOL; stdcall;   
2 function SetCommState(hFile: THandle; const lpDCB: TDCB): BOOL; stdcall;
3 type
4 _DCB = packed record
5 DCBlength: DWORD;
6 //波特率
7 BaudRate: DWORD;
8 Flags: Longint;
9 wReserved: Word;
10 XonLim: Word;
11 XoffLim: Word;
12 //数据位
13 ByteSize: Byte;
14 //校验
15 Parity: Byte;
16 //停止位
17 StopBits: Byte;
18 XonChar: CHAR;
19 XoffChar: CHAR;
20 ErrorChar: CHAR;
21 EofChar: CHAR;
22 EvtChar: CHAR;
23 wReserved1: Word;
24 end;
25 TDCB = _DCB;
26 DCB = _DCB;
27 PDCB = ^TDCB;
28 const
29 //校验
30 NOPARITY = 0;
31 ODDPARITY = 1;
32 EVENPARITY = 2;
33 MARKPARITY = 3;
34 SPACEPARITY = 4;
35 //停止位
36 ONESTOPBIT = 0;
37 ONE5STOPBITS = 1;
38 TWOSTOPBITS = 2;
39 //波特率
40 CBR_110 = 110;
41 CBR_300 = 300;
42 CBR_600 = 600;
43 CBR_1200 = 1200;
44 CBR_2400 = 2400;
45 CBR_4800 = 4800;
46 CBR_9600 = 9600;
47 CBR_14400 = 14400;
48 CBR_19200 = 19200;
49 CBR_38400 = 38400;
50 CBR_56000 = 56000;
51 CBR_57600 = 57600;
52 CBR_115200 = $1C200;
53 CBR_128000 = $1F400;
54 CBR_256000 = $3E800;
1 GetCommState(FCommHandle, FDCB);   
2 FDCB.BaudRate := CBR_9600;
3 FDCB.Parity := EVENPARITY;
4 FDCB.Stopbits := ONE5STOPBITS;
5 FDCB.Bytesize := 8;
6 FDCB.Flags := 0;
7 SetCommState(FCommHandle, FDCB);

转载于:https://www.cnblogs.com/solokey/archive/2011/08/03/2126557.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值