Envío de datos de 8 o 16 bits [cerrado]

-1

Quiero saber si envío datos de 8 o 16 bits. ¿Cómo puedo obtener un valor separado en el otro extremo de un procesador a otro? Como ejemplo, estoy enviando 42587 y quiero que solo 4 reciban en otro extremo, no cualquier otro valor. Igual que para 2, 5, 8,7. Estoy utilizando la interfaz de comunicación serie. Usando cualquier cosa como matemáticas simples o cualquier cosa. Por favor, ayúdame. Estoy usando UART. Quiero decir que estoy enviando el número 42587, pero quiero que los valores separados de él 4 estén separados de ese valor como el sabio 2 & 5 & 8 & 7 también deben estar separados

    
pregunta Kumar Harsh

1 respuesta

1

Si desea enviar el decimal 42587 (binario 1010011001011011) como una cadena ASCII "42587" entonces

Convierta el número a decimal codificado en binario (BCD). Entonces 42587 se convierte en 0h00042587.

Envíe cada byte del BCD como su carácter ASCII agregando 0h30. La cadena transmitida pasa a ser 0h30 0h30 0h30 0h34 0h32 0h35 0h38 0h37.

BCD    0000-0000 0000-0100 0010-0101 1000-0111
BCD       0    0    0    4    2    5    8    7
ASCII  0h30 0h30 0h30 0h34 0h32 0h35 0h38 0h37

Consulte enlace .

    
respondido por el Transistor

Lea otras preguntas en las etiquetas