Red de conocimientos turísticos - Conocimientos sobre calendario chino - Programación de reenvío de puerto serie

Programación de reenvío de puerto serie

Enviar una cadena como esta requiere un indicador de fin de cadena, ¡y 0 no se puede usar como indicador de fin de cadena! ¡Aquí, ingrese 0xd como terminador!

# include ltreg 51.h gt;

typedef unsigned char uint8?

Bit flag = 0;

uint 8 idata buf[30];

uint8 ct

Void InitUART(void) // El puerto serie se inicializa a 9600 bps.

{

TMOD = 0x 20

SCON = 0x 50

ésimo 1 = 0x FD

TL 1 = th 1;

PCON = 0x 00;

EA = 1;

ES = 1;

tr 1 = 1;

}

Envío no válido(uint8 c)

{

SBUF = c;

And(!TI);

TI = 0;

}

Controlador no válido (no válido)

{

char j;

InitUART();

? while(1)

{

If(flag) //¿Recibiste un retorno de carro? Cadena enviada

{

flag = 0;

for(j = CT; j gt0; j -)

{

? enviar(buf[j-1]);

}

? }

}

}

void UARTInterrupt(void) interrupción 4

{

Uint estático 8 I = 0;?

Frecuencia intermedia (RI)

{

RI = 0;

? buf[i]= SBUF;

? If(SBUF == 0x0d) //Acepta retorno de carro.

{

CT = I-1;

bandera = 1;

I = 0; }

}

Otros

TI = 0;

}

Resultados de la simulación

Programa como esperanza de referencia? ¡Puedes entender el espectáculo tú mismo! ¡Solo cuando lo domines podrás usarlo bien!