串行通信求助
下面是我的代码,请问大家为什么readfile读不到值.
m_handleSerialData=CreateFile("COM1", GENERIC_READ|GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(m_handleSerialData==INVALID_HANDLE_VALUE)
return FALSE;
SetupComm(m_handleSerialData, 4096, 4096);
DCB dcb;
if(!GetCommState(m_handleSerialData, &dcb)) return FALSE;
dcb.Parity=NOPARITY;
// 硬件流控制设置
dcb.fOutxCtsFlow=FALSE;
dcb.fRtsControl=FALSE;
dcb.fDsrSensitivity=FALSE;
dcb.fDtrControl=FALSE;
dcb.fRtsControl=FALSE;
// XON/XOFF流控制设置
dcb.fInX=dcb.fOutX=FALSE;
//dcb.XonChar=XON;
//dcb.XoffChar=XOFF;
//dcb.XonLim=50;
//dcb.XoffLim=50;
dcb.DCBlength=sizeof(DCB);
//dcb.fBinary=TRUE;
dcb.BaudRate=CBR_115200; // 数据传输速率
dcb.ByteSize=8;// 每字节位数
dcb.Parity = NOPARITY;
dcb.StopBits=ONESTOPBIT;
BOOL b=SetCommState(m_handleSerialData, &dcb);
COMMTIMEOUTS timeout;
GetCommTimeouts(m_handleSerialData, &timeout);
timeout.ReadIntervalTimeout=MAXDWORD;
timeout.ReadTotalTimeoutMultiplier=0;
timeout.ReadTotalTimeoutConstant=0;
timeout.WriteTotalTimeoutMultiplier=10;
timeout.WriteTotalTimeoutConstant=10;
SetCommTimeouts( m_handleSerialData , &timeout );
char *buff="AT+CPOL";
memset(m_pbyteSerialData, 0x00, 4096);
m_dwSerialDataCount=strlen(buff);
int n=WriteFile(m_handleSerialData,buff,m_dwSerialDataCount,&m_dwSerialDataCount,NULL);
int m=ReadFile(m_handleSerialData, m_pbyteSerialData, 4094, &m_dwSerialDataCount, NULL);