Klärung der Bitwellenform


7

Ich habe versucht, mehr über die Bitübertragung über das Uart zu erfahren, und ich habe den folgenden Code in Python, um Informationen zu übertragen:

import serial

ser = serial.Serial(

    port='/dev/ttyAMA0',
    baudrate = 1000000,
    parity=serial.PARITY_NONE,
    stopbits=serial.STOPBITS_ONE,
    bytesize=serial.EIGHTBITS,
    timeout=1
)

b=1

ser.write(b)

Ich habe dann ein Oszilloskop an die Tx-Leitung angeschlossen. Ich erhalte die folgende Wellenform:

Welches 1us = 1bit. Ich kann deutlich sehen, dass das niedrigstwertige Bit an erster Stelle steht, und ich kann die Start- und Stoppbits sehen. Warum befinden sich jedoch zwei Einsen in der Mitte der Sequenz? Sollte es nicht 00000001 sein?

Danke im Voraus.

Antworten:


11

Für mich sieht es so aus, als hätte ser.write (1) eine implizite Konvertierung in einen String. So wird Ihre 1 zu einer "1", die 00110001 ist und perfekt zu Ihrer Beobachtung passt.


Oh Danke. Ich dachte nicht, dass es eine Zeichenfolge "1" war.
Berd
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.