数据采集程序,用编辑框显示编码器的角度,编辑框显示内容如下: 000034595
=+000034595
=+000034595
=+000034595
=烫 其中有效角度为345.95 请问 1.为什么编辑框的内容会自动换行?
2.如何读取第三行的显示内容?
=+000034595
=+000034595
=+000034595
=烫 其中有效角度为345.95 请问 1.为什么编辑框的内容会自动换行?
2.如何读取第三行的显示内容?
void CRS485CommDlg::OnReceive()
{
// TODO: Add your control notification handler code here
OVERLAPPED m_osRead;
memset(&m_osRead,0,sizeof(OVERLAPPED));
m_osRead.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL); COMSTAT ComStat;
DWORD dwErrorFlags;
char str[50];
char *aa;
double value;
memset(str,'\0',50);
DWORD dwBytesRead=50;//读取的字节数
BOOL bReadStat; ClearCommError(hCom,&dwErrorFlags,&ComStat);
dwBytesRead=min(dwBytesRead, (DWORD)ComStat.cbInQue);
bReadStat=ReadFile(hCom,str,dwBytesRead,&dwBytesRead,&m_osRead);
if(!bReadStat)
{
if(GetLastError()==ERROR_IO_PENDING)
//GetLastError()函数返回ERROR_IO_PENDING,表明串口正在进行读操作
{
WaitForSingleObject(m_osRead.hEvent,1000);
//使用WaitForSingleObject函数等待,直到读操作完成或延时已达到2秒钟
//当串口读操作进行完毕后,m_osRead的hEvent事件会变为有信号
}
} PurgeComm(hCom, PURGE_TXABORT|PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR); //清空缓冲区 m_disp=str; UpdateData(FALSE);
}