Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo enviar una cadena al asistente de depuración del puerto serie usando un microcontrolador 51? Me gustaría ver un programa que lo explique más claro, gracias.

¿Cómo enviar una cadena al asistente de depuración del puerto serie usando un microcontrolador 51? Me gustaría ver un programa que lo explique más claro, gracias.

Los códigos ASCII también se expresan en hexadecimal en los microcontroladores. Solo los caracteres que se muestran después de la decodificación son caracteres. Si envía un carácter al azar, el asistente de depuración del puerto serie selecciona la visualización de caracteres y se pueden mostrar los caracteres recibidos (tal vez tengamos caracteres desconocidos). El envío de una cadena se envía hasta el final del envío. El microcontrolador 51 tiene su propio puerto serie P3.1, pero el envío de un byte generará una interrupción de byte (también se puede juzgar por el método TI). para juzgar si el envío se completó, comience a enviar después de la respuesta de interrupción, SBUF = 0Xxx, se enviará automáticamente de forma continua, además el juicio puede controlar la cadena de envío, el asistente de depuración del puerto serie selecciona la visualización de caracteres y recibe un carácter (tal vez sea algo no reconocemos) caracteres). Agregue juicio para controlar el número de bytes enviados

Inicialización del puerto serie:

void uart_init()

{ <. /p>

TMOD. =0x20;//Temporizador 1, modo 2

SCON=0x50;//Modo de comunicación del puerto serie 1

TH1=0xfd;//Baudios tasa 9600

TL1=0xfd;

botón=0;

retraso(1);

TI=0; el indicador de interrupción de envío

RI=0 //Borrar el bit del indicador de interrupción de recepción

TR1=1 //Iniciar el temporizador 1

EA=1; //Habilitar interrupción global

ES=1; //Iniciar interrupción en serie

}

}

void main()

{ P1=0xff;

uart_init()

mientras(1)

{

}

// Programa de interrupción en serie

void commIntProc() interrupción 4

{

if(TI)

{

TI = 0;

if(sendPosi < sendCount) //Determina si el envío se completó

{

sendPosi++; /Enviar una vez y el contador aumenta en uno

SBUF = sendBuf[sendPosi];//Empezar a enviar

}