//定义发送单个字符的空间大小
char *buffA = new char[1];
char *buffB = new char[1];
char *buffC = new char[1];
char *buffD = new char[1];
//分配每次发送的空间
memset(buffA,0,sizeof(char)*1);
memset(buffB,0,sizeof(char)*1);
memset(buffC,0,sizeof(char)*1);
memset(buffD,0,sizeof(char)*1);
//设置发送字符
buffA[0]= 'P';
buffB[0]= 'O';
buffC[0]= 'N';
buffD[0]= 13;
//清空串口读写缓存;
// m_SerialPort.ClearReadBuffer();
// m_SerialPort.ClearWriteBuffer();
//向串口发送数据
m_SerialPort.Write(buffA,sizeof(char)*1);
SetTimeOut();
m_SerialPort.Write(buffB,sizeof(char)*1);
SetTimeOut();
m_SerialPort.Write(buffC,sizeof(char)*1);
SetTimeOut();
m_SerialPort.Write(buffD,sizeof(char)*1);
SetTimeOut();
//数据发送完成,释放分配空间
delete[] buffA;
delete[] buffB;
delete[] buffC;
delete[] buffD;
//设置延迟,等待下位机向串口发送数据
SetTimeOut();
//开始读取串口数据
char *Readbuff = new char [50];
memset(Readbuff,0,sizeof(char)*50);
m_SerialPort.Read(Readbuff,50);
//读取完成,显示在文本框中
GetDlgItem(IDC_BACKMESSAGE)->SetWindowText(Readbuff);
//清理串口中的读缓存
m_SerialPort.ClearReadBuffer();
m_SerialPort.ClearWriteBuffer();
//释放读取缓存空间
delete[] Readbuff;
串口读消息,但是程序读不到,而且读时程序繁忙,需要强行关闭。
char *buffA = new char[1];
char *buffB = new char[1];
char *buffC = new char[1];
char *buffD = new char[1];
//分配每次发送的空间
memset(buffA,0,sizeof(char)*1);
memset(buffB,0,sizeof(char)*1);
memset(buffC,0,sizeof(char)*1);
memset(buffD,0,sizeof(char)*1);
//设置发送字符
buffA[0]= 'P';
buffB[0]= 'O';
buffC[0]= 'N';
buffD[0]= 13;
//清空串口读写缓存;
// m_SerialPort.ClearReadBuffer();
// m_SerialPort.ClearWriteBuffer();
//向串口发送数据
m_SerialPort.Write(buffA,sizeof(char)*1);
SetTimeOut();
m_SerialPort.Write(buffB,sizeof(char)*1);
SetTimeOut();
m_SerialPort.Write(buffC,sizeof(char)*1);
SetTimeOut();
m_SerialPort.Write(buffD,sizeof(char)*1);
SetTimeOut();
//数据发送完成,释放分配空间
delete[] buffA;
delete[] buffB;
delete[] buffC;
delete[] buffD;
//设置延迟,等待下位机向串口发送数据
SetTimeOut();
//开始读取串口数据
char *Readbuff = new char [50];
memset(Readbuff,0,sizeof(char)*50);
m_SerialPort.Read(Readbuff,50);
//读取完成,显示在文本框中
GetDlgItem(IDC_BACKMESSAGE)->SetWindowText(Readbuff);
//清理串口中的读缓存
m_SerialPort.ClearReadBuffer();
m_SerialPort.ClearWriteBuffer();
//释放读取缓存空间
delete[] Readbuff;
串口读消息,但是程序读不到,而且读时程序繁忙,需要强行关闭。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货