- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 9 von 9

Thema: ATMEGA8/UART/FLEURY

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    11.05.2006
    Beiträge
    33

    ATMEGA8/UART/FLEURY

    Anzeige

    Praxistest und DIY Projekte
    Ich hatte einen Atmaga168 mit der Fleury-Uart-Library betrieben und
    das klappte auf Anhieb. Nun möchte ich dasselbe auf einem
    ATMega8 mit internem Takt machen.
    Allerdings kommt jetzt beim Senden nichts raus (empfangen habe ich gar nicht probiert); wenn ich es aber ausprogrammiere (u.a. ohne
    Interrupt beim Senden) geht es (allerdings nur 1200 Baud):
    UCSRB |= (1 << TXEN) | ( 1 << RXEN ); // UART TX, RX einschalten
    UCSRC |= ( 1 << URSEL )|( 3<<UCSZ0 ); // Asynchron 8N1
    UBRRH = (uint8_t) (UBRR_BAUD>>; // USART Baud
    UBRRL = (uint8_t) UBRR_BAUD;
    uart_puts( "**** ATMega8 ****\n\r" );

    Wie gesagt, dann mit Fleury geht nichts mehr. Habe den Eindruck, dass das Programm bis 32 Zeichen in einen Buffer schreibt, dann hängt.

    Liegt das wohl am internen (ungenauen) Takt, am Interrupt des
    Atmega8 oder sonst was ? Danke.

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Kommt auf die F_CPU an. Bei F_CPU = 16MHz sind 38400 Baud kein Problem (was nicht unbedingt auf deine Software zutrifft, die Hardware bringt's jedenfalls).
    Disclaimer: none. Sue me.

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    21.10.2005
    Ort
    Erde
    Alter
    57
    Beiträge
    1.195
    Hast Du auch den richtigen Chip gewählt? Beim MEga8 sind einige Register anders als beim 168

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    11.05.2006
    Beiträge
    33
    Danke für eure Antworten.

    Ja, der Chip ist richtig eingestellt.

    Was man dem (funktionierenden) Beispielcode
    nicht ansieht: Ich habe auf 1 Mhz gestellt und
    kommuniziere mit 1200 Baud.

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    21.10.2005
    Ort
    Erde
    Alter
    57
    Beiträge
    1.195
    Probier mal 8MHz und 1200.

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    11.05.2006
    Beiträge
    33
    Hallo <Roboter Genie>, Du meinst also die Fusebits
    auf 8 Mhz ändern (nicht nur die Konstante im Code) ?

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Die Konstante im Code muss *immer* mit deiner wirklichen CPU-Frequenz übereinstimmen.
    Disclaimer: none. Sue me.

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    11.05.2006
    Beiträge
    33
    Ich habe die interne CPU-Frequenz auf 8 Mhz umgestellt
    und mit 1200 Baud probiert, geht ohne Fleury aber mit Fleury
    auch nicht (also wie bei 1 Mhz).
    Danke gleichwohl für die Idee.

  9. #9
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Ich betreibe den UART von Fleury mit 115000 Mega8 allerdings mit mit 7,3728MHz Quarz. Mit dem internen Takt habe ich es noch nie probiert.

Berechtigungen

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

12V Akku bauen