Utilice la clase CSerialPort para la programación del puerto serie en VC
La función serialPort.Read aún no funciona si no puedes usarla
Marcos
Define un buffer BYTE[1 64 1]; es, buffer[66 ];
Defina otro int bufferLength = 0 en OnCommunication(...)
{
if?(0?== ?bufferLength)? //El encabezado del marco aún no se ha recibido
{
if?(0xAF?!=?ch)?//?No el encabezado del marco p>
return;? //Return
}
if?(65?==?bufferLength)?//?No se ha recibido el final del marco todavía
{
if?(0xFA?!=?ch)?//?No es el final del fotograma
{
bufferLength?=?0;?//?Descartar los datos recibidos, restablecer la longitud efectiva de datos del búfer a cero
return;?//?Return
} p>
}
//? Para mostrar el ?ch? recibido en tiempo real, simplemente agregue el código aquí
buffer[bufferLength]?=?ch;
bufferLength;
if? (66?==?bufferLength)
{
//?Se ha recibido un fotograma y los datos están disponibles. en el búfer?
bufferLength?=?0 ;?//?Después de sacar el marco, restablezca la longitud efectiva de datos del búfer a cero
}
}