- fchao-Sinus-Wechselrichter AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: Zahlen > 8bit über UART senden und enpfangen?

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    16.12.2006
    Beiträge
    10
    Anzeige

    Powerstation Test
    Also das Prinzip könnte funktionieren? ein Pin als Auslöser für das put_uart().
    Dann muss ich mir meinen Code nochmal genauer anschauen.
    Hab das Gefühl, dass das ganze immer noch nicht synchron abläuft, so dass in z.B a = get_uart() beide Werte abwechselnd reinkommen.

    Wie synchronisier ich denn am besten die Controller?
    Mit dem UMSEL bit im UCSRC Register an dann die XCK Pins verbinden, so wie's im Datenblatt steht?

  2. #12
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2004
    Ort
    Karlsruhe
    Beiträge
    223
    Zitat Zitat von Karl Napf
    Hab das Gefühl, dass das ganze immer noch nicht synchron abläuft, so dass in z.B a = get_uart() beide Werte abwechselnd reinkommen.
    Das ist doch genau *richtig* so: du sendest erst das 1. Byte und dann das 2., also beide Werte abwechselnd (weil du das ja in einer Endlosschleife machst). Die beiden Bytes müssen dann eben LSB und MSB von einer 16bit-Zahl sein. Und das musst du dann entsprechend wieder auf Empfängerseite zusammenbasteln.

    Ich weiß echt nicht wo das Problem liegt, oder ich verstehe nicht was dein Problem ist. Ist doch einfach nur ne simple serielle Übertragung.

  3. #13
    Neuer Benutzer Öfters hier
    Registriert seit
    16.12.2006
    Beiträge
    10
    Das funktioniert soweit ja, aber wenn ich beim Sender ein Reset mach, dann kommt es vor das er manchmal den Inhalt von "Bsp1" beim Empfänger in "a" und beim nächsten Reset in "b" ablegt. Genauso mit "Bsp2".
    Das heißt jedesmal wenn ich die Controller einschalte kann es sein, dass die Werte beim Empfänger (auf dem Display) vertauscht sind.

  4. #14
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2004
    Ort
    Karlsruhe
    Beiträge
    223
    nun ja, da musst du halt die Controller synchronisieren. Z.b. indem du mit einem zusätzlichen Pin eben signalisierst wann der Wert losgeht -- also Signal erzeugen, dann 1. Byte schicken, danach 2. Byte schicken. Der UART is asynchron, also brauchst du nicht jedes einzelne Byte zu signalisieren ...

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen