关于RS232串口通信的问题,初次接触,大家帮忙看看,搞定马上结贴^_^
发送命令后没有数据传回,不知道问题出在哪里,大家帮忙看看,谢谢了!
HANDLE hComm;
DCB dcb;
DWORD nBytesRead,dwError;
COMSTAT cs;
char *Senddata,inbuff[1024];
unsigned long lrc,BS;
if((hComm=CreateFile("COM1",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,0))!=INVALID_HANDLE_VALUE)
{
GetCommState(hComm,&dcb);
dcb.BaudRate=CBR_9600;
dcb.ByteSize=8;
dcb.Parity=NOPARITY;
dcb.StopBits=ONESTOPBIT;
SetCommState(hComm,&dcb);
Senddata=Edit1->Text.c_str();
BS=Edit1->Text.Length();
WriteFile(hComm,Senddata,BS,&lrc,NULL);
ClearCommError(hComm,&dwError,&cs);
if(cs.cbInQue>sizeof(inbuff))
{
PurgeComm(hComm,PURGE_RXCLEAR);
ReadFile(hComm,inbuff,cs.cbInQue,&nBytesRead,NULL);
inbuff[cs.cbInQue]='\0';
Memo1->Text=inbuff;
}
if(hComm!=INVALID_HANDLE_VALUE)
CloseHandle(hComm);
}
else
{
ShowMessage("开打通信端口错误!");
}