El pin CTS detecta cambios de nivel durante la comunicación del puerto serie VC. ¿Cómo programar en MFC?
Defina una variable usted mismo, como bool CTSholding=false;
if (mscomm.GetCommEvent()==3) CTSholding=true;
Pero esto habrá un problema, es decir, mscomm.GetCommEvent()==3 en realidad detecta el cambio de señal del pin CTS, es decir, CTS de bajo a alto y de alto a bajo activará mscomm.GetCommEvent()==3 .
Puedes hacer esto
bool CTSholding=false;
if (mscomm.GetCommEvent()==3)
{
if (CTSholding = false) CTSholding = true;
else CTSholding = false
}
De esta forma, el valor de CTSholding se puede utilizar para determinar el nivel del pin CTS.
La premisa de este método es que el programa de detección debe iniciarse primero y el nivel del pin CTS debe monitorearse en todo momento, de lo contrario, si la señal de onda cuadrada en CTS se agregó y luego se detectó a través de este. programa, es muy probable que el valor de nivel obtenido del pin CTS sea exactamente opuesto al valor real