-         

Ergebnis 1 bis 6 von 6

Thema: ATMega644 @20MHz Fehlfunktion UART

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Beiträge
    274

    ATMega644 @20MHz Fehlfunktion UART

    Anzeige

    Hi,

    ich habe ein Testprogramm in einen ATMega644 geladen. Das Programm soll nur einen Text ausgeben. Im Terminalfenster kommen nur wirre Zeichen.

    Die Übertragungsrate ist auf 57600 gestellt. Habe aber auch 19200 getestet. Mit einem anderen Programm (FW von nem C-Code) klappt die Übertragung.

    Kommt Bascom mit den 20MHz nicht klar? oder kann es den M644 noch nicht richtig?

    Wer hatte ähnliche Probleme?

    Grüße
    Alex

    Code:
    '-----------------------------------------------------------------------------------------
    'name                     : print.bas
    '-----------------------------------------------------------------------------------------
    $regfile = "m644def.dat"                                    ' specify the used micro
    $crystal = 20000000                                         ' used crystal frequency
    $baud = 19200                                               ' use baud rate
    
    Do
    
    Print "print variable a "
    
    Print                                                       'new line
    
    Print "Text to print."                                      'constant to print
    
    Waitms 300
    loop
    End

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    29.01.2005
    Alter
    45
    Beiträge
    294
    Also 19200 sollten tun. Bei 57600 ist die Abweichung 1%, das kann Probleme machen.

    Habe keinen 20MHz Quarz hier, sonst würde ich es mal testen.

    Wenn Dein Aufbau mit C funktioniert, dann wäre das echt komisch.

    Probier nochmal das C Proggi. Vielleciht ist in Deiner Schaltung was passiert.

    Gruß Dnerb
    Das Gegenteil von "gut" ist "gut gemeint"!

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Beiträge
    274
    Hi,

    Zitat Zitat von Dnerb
    Probier nochmal das C Proggi. Vielleciht ist in Deiner
    Hab ich schon! Schaltung ist IO. Das ist ja das was ich nicht verstehe! Beim C ist ja alles perfekt. nur mit dem Bas bekomme ich es nicht hin! Und wenn ich an nem Beispiel scheitere ist das ned so doll

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Mein m644 läuft 1A mit 16 Mhz. 20 Mhz habe ich nicht in der Schaltung eingebaut. Verusch doch einfah mal Crystal mit 10000000 anzugeben und als Baud 38400. Dabei den m644 aber weiterhin mit 20 Mhz takten und das Terminalproggie auf 19200 stellen.

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Beiträge
    274
    Hi Peterfido

    danke für die Tipps, aber es muss doch in Bascom so auch funktionieren?

    Kann es sein das wenn ein Fusebit im Teiler gesetzt ist, das die UART auch halbiert? Wäre eine Erklärung!

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Der Vorteiler für den Takt gilt natürlich für den gesamten uC. Allerdings sollte das "Problem" dann auch bei den anderen Programmversionen (C) auftreten.

Berechtigungen

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