vc串行通信相关函数列表(2)

2019-01-07 18:29

功能: 从字面上的意思看来 , 它是用来清除错误情况用的 , 但是实际上它还可以拿来取得目前通讯设备的一些信息 .

函数原型:

BOOL ClearCommError (

HANDLE hFile, // handle to communications device

LPDWORD lpErrors, // pointer to variable to receive error codes

LPCOMSTAT lpStat // pointer to buffer for communications status

) ;

说明:

在调用 ReadFile 和 WriteFile 之前,线程应该调用 ClearCommError 函数清除错误标志。

该函数负责报告指定的错误和设备的当前状态。

7CloseHandle();

功能:关闭串口

BOOL CloseHandle ( HANDLE hObject // handle to object to close )

下面是我在 bcb 里的一些具体实现:

1. 打开串口

void __fastcall TForm1::Button1Click(TObject *Sender) {

hCom=CreateFile( \文件名

GENERIC_READ|GENERIC_WRITE,// 访问模式允许读写

0, // 此项必须是 0

0,// 无安全参数

OPEN_EXISTING,// 创建方式

FILE_FLAG_OVERLAPPED,// 异步工作方式

0);

if (hCom==INVALID_HANDLE_VALUE)

{

ShowMessage(\

CloseHandle(hCom);

hCom = 0;

return;

}

else ShowMessage(\

Button1->Enabled=false;

CheckBox1->Enabled=true;

CheckBox2->Enabled=true;

CheckBox3->Enabled=true;

CheckBox4->Enabled=true;

CheckBox5->Enabled=true;

if(!GetCommState(hCom,&dcb)) // 获得串口设置并用它填充 dcb 结构体

ShowMessage(\

if (!SetupComm(hCom,1024,1024)) // 设置输入输出缓冲区大小

ShowMessage(\

dcb.BaudRate=9600;

dcb.fParity=0;

dcb.Parity=NOPARITY;

dcb.StopBits=ONESTOPBIT;

dcb.ByteSize=8;

if(!SetCommState(hCom,&dcb)) // 重新配置串口

ShowMessage(\

SetCommMask(hCom,EV_TXEMPTY); //EV_RXCHAR|

memset(&os,0,sizeof(OVERLAPPED));

os.hEvent=CreateEvent(NULL,true,false,NULL); }


vc串行通信相关函数列表(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016-2022年中国精甲醇行业前景研究与市场年度调研报告(目录)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: