2,640
社区成员
发帖
与我相关
我的任务
分享
//定义发送单个字符的空间大小
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;