Red de conocimiento informático - Problemas con los teléfonos móviles - Código fuente de la función Senddata

Código fuente de la función Senddata

// La función printf llama a putchar para transmitir datos de caracteres.

//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!