c语言配置串口的api有哪些,用WIN32 API编纂串口程序

当前位置:我的异常网» C语言 » 用WIN32 API编纂串口程序

用WIN32 API编纂串口程序

www.myexceptions.net  网友分享于:2014-07-28  浏览:0次

用WIN32 API编写串口程序

我按照百度文库上的文档一步一步照抄一遍,大概的流程就是

hComm = CreateFile (ComName,     //串口号

GENERIC_READ ,    //只允许读操作

0,                //串口不可共享,必须以独占方式打开

NULL,             //安全属性为NULL

OPEN_EXISTING,    //通讯设备串口已存在

FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, //异步I/O

NULL);            //通讯设备不能用模板打开if (hComm == INVALID_HANDLE_VALUE)

{

CloseHandle(hComm);

printf("打开COM失败!");

}

else

{

printf("打开COM成功!");

/*********设置串口参数***********/

memset(&dcb,0,sizeof(dcb));            //将dcb清零

if(!GetCommState(hComm,&dcb))          //获取串口当前状态

{

printf("打开COM状态失败!");

}

else

{

printf("打开COM状态成功!");

dcb.DCBlength         = sizeof(dcb);   //设置dcb结构体大小

dcb.BaudRate          = BaudRate;      //设置波特率

dcb.fBinary           = FBinary;       //设置二进制

dcb.fParity           = FParity;       //设置进行奇偶校验

dcb.fOutxCtsFlow      = 0;             //输出控制时,CTS(clear to send)线上的硬件握手

dcb.fOutxDsrFlow      = 0;             //输出控制时,DSR(data set ready)线上的硬件握手

dcb.fDtrControl       = DTR_CONTROL_DISABLE; //DTR(data terminal ready)控制

dcb.fDsrSensitivity   = 0;          //DSR灵敏度

dcb.fTXContinueOnXoff = 0;          //输入缓冲区已满且以传输XoffChar字符后,XOFF是否继续发送

dcb.fOutX             = 0;          //是否使用XON/XOFF输出控制

dcb.fInX              = FInx;       //是否使用XON/XOFF输入控制

dcb.fErrorChar        = 0;          //是否将奇偶校验错误的字符由ErrorChar代替

dcb.fNull             = 0;          //是否丢弃null字节

dcb.fRtsControl       = RTS_CONTROL_DISABLE;  //RTS(request to send)控制

dcb.fAbortOnError     = 0;          //发生错误时,是否中止读写错误

dcb.fDummy2           = 0;          //保留

//dcb.wReserved         = 0;          //保留,Not currently used

dcb.XonLim            = 1024;       //设置在XON字符发送之前inbuf中允许的最少字节数

dcb.XoffLim           = 1024;       //设置在发送XOFF字符之前outbuf中允许的最多字节数

dcb.ByteSize          = ByteSize;   //设置数据宽度

dcb.Parity            = Parity;     //设置校验

dcb.StopBits          = StopBits;   //设置停止位

dcb.XonChar           = XonChar;    //设置表示XON字符的字符

dcb.XoffChar          = XoffChar;   //设置表示XOFF字符的字符

dcb.EvtChar           = 0;          //设置表示event字符的字符

文章评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值