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

Thema: Problem mit Fleury UART lib und Mega644 ...

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    22.11.2005
    Ort
    Braunschweig
    Alter
    48
    Beiträge
    685

    Frage Problem mit Fleury UART lib und Mega644 ...

    Moin!

    Ich bastel mal wieder, und verzweifel grad an folgendem :

    Ich habe einen Mega644 mit Standardschaltung lt. RN-Wissen, also Spannungsregler 7805 mit Elko und Kerko (Schaltung läuft aber eh mit Akkus 6x1,2V), 10KOhm Pullup an Reset, 18,432 MHz Quarz mit 22pF Kondensatoren dran sowie Max232. Das erste Phenomän ist, die Übertragung von Daten zum PC (hterm) funktioniert nur bis 57600baud stabil, bei 115200 kommen Werte doppelt/fehlerhaft an, dabei ist das doch so ein schöner Baudratenquarz...
    Das ist allerdings in meinem Fall nicht so schlimm, ich weiß nur nicht, ob das evtl. eine Randerscheiung meines eigentlichen Problems ist.

    Das da wäre :

    Daten senden mit
    Code:
    uart_putc(x)
    geht, strings senden mit
    Code:
    uart_puts("text")
    geht, aber beim senden aus dem Programmspeicher mit
    Code:
    uart_puts_p("text")
    kommt mist, bzw. auch manchmal nur ein Byte, das aber auch schon falsch.

    Ich habe die Bibliothek jetzt schon auf verschiedenen Controllern benutzt, aber noch nie auf dem 644, und hatte nie Probleme damit....

    Ich hab die Schaltung nochmal neu aufgebaut, und auch den Mega644 sowie den Max232 getauscht, aber das wars nicht.

    Das komplette Programm hänge ich mal dran, steht allerdings nicht viel drin...

    Die bytes 0-255 kommen sauber an (bei 57600baud), das 'a' auch, das "test" nicht.

    Code:
    #include <avr/io.h>
    #include <stdlib.h>
    #include <util/delay.h>
    #include <avr/interrupt.h>
    #include "uart.h"
    #include <avr/pgmspace.h>
    #include <avr/eeprom.h>
    #define UART_BAUD_RATE      57600
    void init()
    {
     DDRD = 0b00000010;
     uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU) );
     sei(); 
    }
    int main(void)
    {
     int x;
     init();
     //while (1)
     {
      for (x=0;x<=255;x++)
       uart_putc(x);
     }
     uart_putc('a');
     uart_puts_p("test");
     while (1)
     {}
    }
    MfG
    Volker


    /edit: Geschwindigkeitsrätsel gelöst, schien irgendwie an meiner Max232-Schaltung zu liegen, jetzt geht es auch mit 115200baud, und es hat sich herausgestellt, dass beim uart_puts_p die anzahl bytes stimmt, nur der Inhalt nicht.... also evtl. ein Problem in der UART lib, ich forsche mal, bin aber weiterhin für Tipps dankbar!!
    Geändert von vklaffehn (07.11.2011 um 18:52 Uhr)
    Meine kleine Seite
    http://home.arcor.de/volker.klaffehn
    http://vklaffehn.funpic.de/cms
    neuer Avatar, meine geheime Identität

Ähnliche Themen

  1. Timer0 und UART Lib Fleury Timer läuft nicht mehr los
    Von gesamtplan im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 21.03.2011, 19:23
  2. UART mit Fleury Library
    Von MT2009 im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 20.06.2010, 17:20
  3. Bug in der UART bei Mega644 und Mega644P?
    Von benkly im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 26.04.2009, 16:08
  4. Uart Problem mit Mega644 und Mega644P
    Von jozefowicz im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 0
    Letzter Beitrag: 23.02.2009, 20:19
  5. ATMEGA8/UART/FLEURY
    Von rico65 im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 01.11.2006, 10:20

Berechtigungen

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

Labornetzteil AliExpress