-
        

Ergebnis 1 bis 9 von 9

Thema: Frage zum URAT

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2004
    Beiträge
    263

    Frage zum URAT

    Anzeige

    Ich habe nun meinen ATMega16 mit Hilfe eines MAX232 (Schaltung dürfte bekannt sein) an meinen PC angeschloßen.

    Habe nun aber ein Problem:
    Ich wollte das Tutorial zum URAT auf www.rowalt.de machen.

    Also Teil 1:
    Code:
    $Regfile = "m16def.dat"  'ATMega16-Deklarationen
    $Crystal = 16000000    'Quarz: 16 MHz
    $Baud    = 9600       'Baudrate der UART: 9600 Baud
    
    Dim i As Byte
    Dim wTest As Word
    
    i = 1
    wTest = 35000
    
    Do
      Printbin i ; wTest
      Print "Hallo AVR: " ; i ; wTest
      Print "<--->" ;
    Loop
    End
    Die Baudrate müßte doch passen, oder?
    Das Programm funktioniert auch, bekomme das "Hallo AVR" auf dem PC zu sehen.

    Teil 2:
    Code:
    $Regfile  = "m16def.dat" 'ATMega16-Deklarationen
    $Crystal  = 16000000     'Quarz: 16 MHz
    $Baud     = 9600        'Baudrate der UART: 9600 Baud
    
    Dim i As Byte
    
    Do
      If USR.RXC = 1 Then  'Wenn Byte empfangen...
        i = UDR            'Byte aus UART auslesen
        Select Case i
        Case "H"
          Print "Hallo AVR"
        Case "h"
          Print "hallo avr"
        Case Else
          Print "Unbekannter Befehl"
        End Select
      End If
    Loop
    End
    Nur das Funktioniert nicht: Bekomme nur wirre Zeichen auf den PC.
    Aber das Senden muß ja funktionieren, Teil 1 funktioniert ja.
    Warum bekomme ich bei Teil 2 nichts vernünftiges vom µC?

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Hessibaby
    Registriert seit
    20.11.2003
    Ort
    Gelsenkirchen
    Alter
    65
    Beiträge
    1.597
    Hi Roboter,

    ausser der BAUDrate müssen auch die Wordlänge (7/8 bit und die Parity non/even/odd) gesetzt werden dann klappt´s auch mit dem Nachbarn.

    Guten Rutsch

    Hartmut

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2004
    Beiträge
    263
    Bin jetzt ein bißchen verwirrt:
    die Wordlänge (7/8 bit und die Parity non/even/odd)
    Auf http://www.rowalt.de/mc/avr/avrboard/04/avrb04.htm steht davon irgendwie nichts (oder ich kann nicht lesen )

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.11.2004
    Ort
    Karlsruhe
    Beiträge
    223
    Hast du die Fuses für den Takt richtig gesetzt? Per default läuft der mit 1MHz und dann stimmen natürlich die Werte für die Baudrate nicht.

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2004
    Beiträge
    263
    Habe die Fuse Bits wie auf dem Bild gesetzt. Ich benutzte einen 16MHz Quarz.


    Was ich nicht verstehe, ist das das Senden vom µC zum PC in Teil 1 funktioniert, deshalb müßte ja selbst wenn das senden vom PC zum µC nicht funkioniert, in Teil 2 wenigstens der String "Unbekannter Befehl" zurückkommen.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken fuse_109.gif  

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Hi, Roboter !
    Wenn "Hello World" kommt, ist das ganze UART-Zeugs in Ordnung.
    Wenn du aber mehr schreibst, überholt er sich vielleicht selber und dann kommt "wtlbrnft"

    Versuch's mal mit ein bißchen Buffer

    Config Serialin = Buffered , Size = 24 'RS232 Inp buffered
    Config Serialout = Buffered , Size = 24 'RS232 Out buffered

    Klappt es noch immer nicht, gib Laut

    mfg robert

  7. #7
    Gast
    Problem hat sich erledigt: Habe mich vertippt und einen falschen Quarz angegeben. Obwohl ich das alles immer und immer wieder nachgeschaut habe, ist mir das nicht aufgefallen

    Aber nochmal ne andere Frage: Wenn ich den Mega16 mit PonyProg programmiere, bekomme ich immer die Fehlermeldung "Write failed". Aber es läuft trotzdem. Woher kommt sowas?

  8. #8
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2004
    Beiträge
    263
    Das war ich gerade, vergessen einzuloggen.

    Habe aber eh noch was: Wenn ich meinen M16 und einen AT90S2313 verbinden will, brauche ich die Schaltung mit dem MAX232 doch nicht, oder?

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    Habe aber eh noch was: Wenn ich meinen M16 und einen AT90S2313 verbinden will, brauche ich die Schaltung mit dem MAX232 doch nicht, oder?
    Nein, den Max232 brauchst du nur wenn du einen µC mit dem PC verbindest, weil die serielle Schnittstelle vom PC mit einer anderen Spannung arbeitet.

Berechtigungen

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