Red de conocimientos sobre prescripción popular - Remedios caseros - Escrito en lenguaje c51, un programa de comunicación en serie realiza que el microcontrolador AT89S52 envíe una matriz de datos enteros a VB

Escrito en lenguaje c51, un programa de comunicación en serie realiza que el microcontrolador AT89S52 envíe una matriz de datos enteros a VB

Función de conversión de un número entero a ASCII. Si se puede determinar el valor máximo de los datos que desea enviar, puede definir una matriz ASCII basada en el valor máximo, y cada unidad de la matriz almacena un bit de datos enteros.

Antes de enviar, convierta las unidades en la matriz de enteros de envío en matrices ASCII y luego envíelas de acuerdo con la función de envío general.

void InttoChar (uint IntNumber)

//--------------------------- - ----------------------

// Nombre: void InttoChar (int IntNumber)

// Func.: Traducir un entero a una matriz de caracteres ASCII

// Char.: Número IntNumber que se traducirá a un carácter ASCII

//------- - -------------------------------------------------

{

if (IntNumber < 10)

{

AsciiArray[0] = IntNumber + 0x30;

AsciiArray[1] = 0x20;

AsciiArray[2] = 0x20;

AsciiArray[3] = 0x20;

AsciiArray[4] = 0x20 ;

return;

}

if (IntNumber < 100)

{

AsciiArray[0] = IntNumber / 10 + 0x30;

AsciiArray[1] = IntNumber % 10 + 0x30;

AsciiArray[2] = 0x20;

AsciiArray[3] = 0x20;

AsciiArray[4] = 0x20;

retorno;

}

si (IntNumber < 1000)

{

AsciiArray[0] = IntNumber / 100 + 0x30;

AsciiArray[1] = IntNumber % 100 / 10 + 0x30;

AsciiArray [2] = IntNumber % 10 + 0x30;

AsciiArray[3] = 0x20;

AsciiArray[4] = 0x20;

retorno;

p>

}

if (IntNumber < 10000)

{

AsciiArray[0] = IntNumber / 1000 + 0x30;

AsciiArray[1] = IntNumber % 1000 / 100 + 0x30;

AsciiArray[2] = IntNumber % 100 / 10 + 0x30;

AsciiArray[3] = IntNumber % 10 + 0x30;

AsciiArray[4] = 0x20;

retorno;

}

más

{

AsciiArray[0] = IntNumber / 10000 + 0x30;

AsciiArray[1] = I

ntNumber % 10000 / 1000 + 0x30;

AsciiArray[2] = IntNumber % 1000 / 100 + 0x30;

AsciiArray[3] = IntNumber % 100 / 10 + 0x30; p>

AsciiArray[4] = IntNumber % 10 + 0x30;

retorno;

}

}