vc6.0利用API实现串口通讯

王朝vc·作者佚名  2006-01-09
宽屏版  字体: |||超大  

int Init_Comm()

{

CHAR port_name[10];

DCB dcb;

BOOL status;

DWORD error_number;

status = OK;

memset(port_name,0,sizeof(port_name));

memcpy(port_name,"COM1",4);

handle_com = CreateFile(port_name,

GENERIC_READ | GENERIC_WRITE,

0,

NULL,

OPEN_EXISTING,

NULL,

NULL);

if(handle_com == INVALID_HANDLE_VALUE)

return(COMM_ERROR);

if(!GetCommState(handle_com,&dcb))

return(COMM_ERROR);

dcb.BaudRate = 9600;

dcb.ByteSize = 8;

dcb.Parity = NOPARITY;

dcb.StopBits = ONESTOPBIT;

dcb.fOutxCtsFlow = 0;

dcb.fRtsControl = RTS_CONTROL_ENABLE ;

if( !SetCommState(handle_com, &dcb) )

{

error_number = GetLastError();

status = COMM_ERROR;

}

if(status != OK)

CloseHandle(handle_com);

return(status);

}

....................................................................................................................................................

if( WriteFile(handle_com,buffer,length,&dwBytesWrite,NULL) == TRUE)

{

if(dwBytesWrite != length)

{

strMsg.Format("发送失败",NULL,NULL);

AfxMessageBox(strMsg,MB_OK);

}

}

......................................................................................................................................................

if(!(status=ReadFile(handle_com,&Recv_Buffer[i],1,&dwBytesRead,NULL)))

{

PurgeComm(handle_com,PURGE_RXCLEAR);

return(ABANDON);

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有