- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 9 von 9

Thema: Mega162 beide UARTs benutzen...

  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461

    Mega162 beide UARTs benutzen...

    Anzeige

    Powerstation Test
    Hi Leute!

    Ich möchte für mein neues Projekt "Suny" eine Funkstrecke zum PC einrichten, die direkt mit dem UART-Systembus gekoppelt ist.
    Als Modem ist ein Mega162 gedacht.
    Platine und so weiter ist alles schon fertig. Und in der Funktion getestet.

    Nundenn, UART0 funktioniert soweit, nur der UART1 funktioniert nicht.
    Ich habe bisher die Ausleserei aus den Registern probiert, aber das sieht schlecht aus.

    Dieses Programm (ein umgeschriebenes Listing aus dem AVR Buch von Roland Walter... Copyright?!?) funktioniert NUR mit dem UART0:

    Code:
    '----------------------------------------------------------
    $regfile = "m162def.dat"                                    'ATmega162-Deklarationen
    $crystal = 16000000                                         'Quarz: 16 MHz
    $baud = 9600                                       'Baudrate der UART0: 9600 Baud
    $baud1 = 9600  'UART1: 9600 Baud
    
    Dim I As Byte
    
    Do
      If Ucsr0a.rxc0 = 1 Then                                   'Wenn Byte empfangen...
        I = Udr0                                                '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
    '[Listing zum AVR-Mikrocontroller-Lehrbuch von Roland Walter, www.rowalt.de]
    Wenn man die Register einfach in z.B: "udr1" umnennt, funzt's nicht!

    *ARGH*

    Bin euch sehr dankbar!
    Ganz liebe Grüße,
    Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.11.2003
    Ort
    Freiburg im Breisgau
    Alter
    35
    Beiträge
    2.624
    Hi Tobi!
    Schonmal im Datenblatt nachgelesen? ;o) *klugscheiß*

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    Hi Florian!

    Klar! Hm.
    Konnte es sein, dass die UART1 nicht richtig initialisiert wird?
    Ich meine UCSR1A - UCSR1C...
    Muss man doch konfigurieren, oder?!

    [OT] *SHOCK* Muss noch Mathe machen... *mist* [/OT]

    Ganz liebe Grüße;
    Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.06.2004
    Ort
    Bad Schussenried in Oberschwaben
    Alter
    34
    Beiträge
    1.461
    HI

    Ok; ich gebs ja zu... Man sollte auch mal einen Blick in den SAMPLEORDNER werfen.
    Da giebt's ein tolles Sample...
    Und jetzt tut alles... !

    Ok.

    Ganz liebe Grüße;
    Tobi
    http://www.tobias-schlegel.de
    "An AVR can solve (almost) every problem" - ts

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    09.12.2004
    Beiträge
    485
    Hallo Tobi

    Was war denn das Problem, ich kämpfe auch gerade mit ATMega162 und UART1 da kommt bei mir nur Müll über die RS232.
    Welchen Sampleordner meinst Du denn?

    LG
    Rubi

  6. #6
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.02.2005
    Ort
    Salzburg
    Alter
    43
    Beiträge
    464
    du musst mit den Befehlen -----open "com1:" for binary as #1------
    und ------open "com2:" for binary as #2-------
    arbeiten.

    zum ausgeben print#1 und print#2 verwenden und wieder schliessen mit
    close#1 und close#2

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    09.12.2004
    Beiträge
    485
    Hallo Bertl100

    Danke für den Hinweis, nur leider verstehe ich es nicht.
    In welcher Sprache programmierst Du die AVRs, ist das Basic?
    Ich verwende im Moment nur Winavr.

    LG
    Rubi

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    28.02.2005
    Ort
    Salzburg
    Alter
    43
    Beiträge
    464
    Tobimc programmiert in Bascom und ich auch.

    Der compiler muss wissen ob er 2 UART´s hat oder nur einen.
    wenn diese nicht deklariert werden, dann kannst nur mit UART0 also den ersten UART arbeiten.
    Das gehr dann dafür aber ohne den deklarationen der com´s.

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    09.12.2004
    Beiträge
    485
    Hallo Bertl100

    Ich verstehe, danke.
    Bei Winavr ist das anscheinend anders.
    Was mich wundert, ist das der Code, der bei meinen Mega8,Mega16 so problemlos funktioniert, nur Müll am Mega162 liefert.
    Na ja , werde mich Heute am Abend wieder dahinterknien.

    LG
    Rubi

Berechtigungen

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

12V Akku bauen