-         

Ergebnis 1 bis 4 von 4

Thema: avr-gcc, AT90S2313 und UART

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    17.07.2004
    Alter
    30
    Beiträge
    81

    avr-gcc, AT90S2313 und UART

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    kann es sein, das der gcc-Compiler irgendwie bei der Berechnung von Werten in der #define-Direktive Probleme macht?

    Ich hab versucht das UART einzustellen und da gabs immer Fehler bei der Übertragung:
    Code:
    #define clock 12000000
    #define baud_rate 9600
    #define ubbr_value ((clock/(16*BAUD))-1)
    /* ... */
     UBBR = (unsigned char) ubbr_value;
    /* ... */
    Der Controller arbeitet (wie zu am Code zu sehen) mit einem Takt von 12MHz.
    Ich habs mit und ohne Type-Cast versucht, allerdings hats überhaupt nix gebracht.

    Also hab ichs mal mit nem Taschenrechner per Hand (nach obiger Gleichung) berechnet und UBBR auf 77 gesetzt. Dann hats Problemlos funktioniert.

    Hat von euch schonmal jemand etwas ähnliches bemerkt? Fand ich nämlich etwas merkwürdig.
    Ich hab übrigens das letzte Release von Source-Forge geladen...

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Alter
    48
    Beiträge
    2.731
    Hallo,
    hast Du genau diese Zeilen oben verwendet ?

    Wo kommt das BAUD in dieser Gleichung her :
    ((clock/(16*BAUD))-1)


  3. #3
    Benutzer Stammmitglied
    Registriert seit
    17.07.2004
    Alter
    30
    Beiträge
    81
    BAUD ist baud_rate... Ist im Code selber richtig geschrieben

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Intern wird mit 16 Bit gerechnet, wenn du nix anderes sagst.

    UBRR =? (uint8_t) ((uint32_t) F_CPU/...)
    Disclaimer: none. Sue me.

Berechtigungen

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