Código fuente de la función Senddata
//Siempre que reescribas la función putchar, puedes redirigir la entrada y salida de printf.
//¿Lo siguiente está en Keil? 5 entorno,
//Código para probar la función de redirección printf usando el microcontrolador STC12.
#¿Incluir? <STC12C5A60S2. H>
#Contiene? & ltstdio.h & gt
//UART1? Inicialización
¿No es válida? UART 1 init(void)//115200 bps @ 11.0592 MHz
{
PCON? &=?0x7F? //La velocidad en baudios es diferente.
SCON=? 0x50? //datos de 8 bits con velocidad de baudios variable
AUXR? |=?0x04? //Modo 1T
¿BRT? =?0xFD? //Establece el valor de recarga del generador de velocidad en baudios independiente.
¿AUXR? | = 0x 01; //El puerto serie 1 selecciona un generador independiente como generador de velocidad en baudios.
¿AUXR? | = 0x 10; //Iniciar generador de velocidad en baudios independiente
ES? =?1;? //Habilitar la interrupción del puerto serie 1.
}
//UART1? Envío de datos seriales
¿No válido? UART1_SendData(char?dat)
{
ES = 0;? //Desactivar interrupción del puerto serie
SBUF = dat?
¿Y (TI!=1);? //Esperando una transmisión exitosa
TI = 0;? //Borrar el indicador de interrupción de envío
ES = 1;? //Abrir interrupción del puerto serie
}
//UART1? Enviar cadena
¿No es válido? UART1_SendString(char?*s)
{
While(*s)//Detectar terminador de cadena
{
UART 1 _ enviar datos(* s++); //Enviar el carácter actual
}
}
//Reescribir la función putchar
Ciel ? putchar(char?c)
{
UART 1 _ enviar datos(c);
¿Volver? c;
}
¿No es válido? Principal (vacío)
{
UART 1 init();
UART1_SendString("¡Hola? Mundo!\ r \ n ");
while(1)
{?;}
}
//Abra el puerto serie y ajuste la velocidad en baudios a 115200 bps. Puedes ver la siguiente información impresa en el puerto serie:
//¿Hola? ¡mundo!