diferencia entre el valor binario real y el valor del osciloscopio

14

Intenté ver un carácter ASCII "A" con un osciloscopio, pero el valor binario real y los valores del osciloscopio son diferentes ¿por qué? Valor binario ASCII "A" - 01000001

El osciloscopio muestra este gráfico:

UsounArduinoUnoparaenviarelvalorASCIIutilizandoelcódigo:

voidsetup(){Serial.begin(9600);}voidloop(){Serial.println("A");  
  delay(1000);  
}
    
pregunta user38701

3 respuestas

34

Así es como lees la forma de onda del osciloscopio. Me tomé el tiempo de editar su imagen de forma de onda y anotarla para mostrar qué bit es cuál. El microcontrolador envía 10 bits por carácter; START, que siempre es 0, 8 bits de datos y STOP, que siempre es 1. La línea también descansa en 1, por lo que el primer flanco descendente de START alerta al receptor de que viene un byte. Los bits se envían primero a LSB, por lo que si desea "echarles un vistazo" aritméticamente, debe reflejarlos horizontalmente para que tengan algún sentido. El ancho de cada bit está determinado por la velocidad en baudios, y tanto el transmisor como el receptor deben saber cuál es la velocidad en baudios.

En la imagen de abajo puede ver que envía tres caracteres: el carácter ASCII 'A', un retorno de carro y un salto de línea.

    
respondido por el PkP
13

Si observa la documentación println () de Arduino, verá que se adjunta un retorno de carro y Alineamiento de línea al final. Así que en decimal terminarás con 65 (A), 13 (CR) y 10 (LF), que en binario se traduce como:

01000001 00001101 00001010

Los datos seriales asíncronos se envían primero a LSB, de modo que se convierte en:

10000010 10110000 01010000

Su señal está inactiva, por lo que el bit de inicio será 0 y el bit de parada será 1, por lo tanto, agregue eso a cada byte y terminará con:

0100000101 0101100001 0010100001

Es un poco difícil calcular el tiempo exacto de su diagrama, pero parece que al menos se corresponde aproximadamente y debería darle una idea de dónde provienen algunos de los bits adicionales y por qué se reordenan. El enlace de Wikipedia proporcionado por Kvegaoro proporciona mucha información de fondo buena sobre datos de serie asíncronos.

    
respondido por el PeterJ
1

Si el flujo que muestra es serie asíncrona , el osciloscopio mostrará el bit de inicio, bit de parada correspondiente ) y bits de paridad. También tenga en cuenta si su señal está invertida o no y si el clima es el bit más significativo primero o el bit menos significativo primero. Si agrega más detalles sobre la transmisión en serie que ha representado en la imagen, podemos darle una respuesta mejor y más detallada, de lo contrario, esto es solo una suposición informada

    
respondido por el Kvegaoro

Lea otras preguntas en las etiquetas