Problema de programación del puerto serie VC, utilizando la clase CSerialPort. ¡Por favor ayuda! Se otorgarán puntos de bonificación a quienes den buenas opiniones ~~
Hay un problema con el cierre del puerto serie por parte de CSerialPort. Puede cambiar la función closePort() en CSerialPort a:
void CSerialPort::ClosePort()
<. p>{// si el hilo está vivo: Matar
if (m_bThreadAlive)
{
Mensaje MSG; p>
while (m_bThreadAlive)
{
if(::PeekMessage(&message,m_pOwner->m_hWnd,0,0,PM_REMOVE))
{ p>
::TranslateMessage(&message);
::DispatchMessage(&message);
}
SetEvent(m_hShutdownEvent);
}
TRACE("Hilo finalizado/n");
}
if(m_szWriteBuffer != NULL) //Borrar el caché de escritura p>
{
eliminar [] m_szWriteBuffer;
m_szWriteBuffer= NULL;
}
si (m_hComm) // Cerrar el puerto serie
{
CloseHandle(m_hComm);
m_hComm = NULL;
} p>
}