Cómo guardar los datos recibidos desde el puerto serie en un archivo en la comunicación del puerto serie VC++
long CSCRDlg::OnCommunicate(WPARAM ch, LPARAM port)
{
if(port==1) //COM1 recibió datos
{
RXData[chnum] = ch;//RXData[] variable de carácter global
chnum++;
if(chnum==41) //Guardar y procesar después de recibir n caracteres
{
Archivo CFile;
CFileException e; p>int error=0;
if(!file.Open(ruta predeterminada,CFile::modeCreate|CFile::typeBinary|CFile::modeWrite,&e))
If ( !p>
MessageBox("Error al guardar el archivo, no se pudieron guardar los datos", "BJ2948A",MB_ICONERROR
else
{
);TRY
{
file.Write(&RXData,sizeof (N));
}
CATCH(CFileException, e)
{
if(e->m_cause!=CFileException::none)
{
error=1; /p>
MessageBox("Error al guardar el archivo", "Advertencia BJ2948A",MB_ICONERROR
}
}
}
);}
END_CATCH
if(error==0)
MessageBox("¡El archivo se guardó!", "Mensaje BJ2948A",MB_ICONINFORMATION)
}
archivo.Close()
}
}
}
}
}
Le sugiero que lea el libro "Serial Port" editado por Gong Jianwei. ¡Escribió el asistente de depuración del puerto serie! muy lindo.
Además, el código base en vckbase también tiene muchos ejemplos de puertos serie, ¡te recomiendo que eches un vistazo!