¿Hay algún problema con el proceso de ejecución de la clase SerialPort?
¡Tu pregunta es muy puntual! Usé esta clase hace cuatro años y, cuando se trata de operaciones de puerto serie, normalmente la uso primero.
void CSerialPort::ReceiveChar(puerto CSerialPort*, COMSTAT comstat)
{
BOOL bRead = TRUE
BOOL bResult =; VERDADERO;
DWORD dwError = 0;
DWORD BytesRead = 0;
carácter sin firmar RXBuff
para (;;)
{
EnterCriticalSection(amp;port-gt;m_csCommunicationSync);
bResult = ClearCommError(port-gt;m_hComm, amp;dwError, amp;comstat) ;
LeaveCriticalSection(amp;port-gt;m_csCommunicationSync);
if (comstat.cbInQue == 0)
{
// salir cuando se han leído todos los bytes
// salir cuando no hay datos para leer. Las respuestas que necesita están aquí.
break;
}
Para responder a tu pregunta, busqué especialmente esta clase en Internet (no la he usado durante mucho tiempo). tiempo y no lo tengo cerca), y también analicé el código, así que recuerda dar puntos.