-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 20

Thema: 2. Serielle Schnittstelle am Atmega162

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118

    2. Serielle Schnittstelle am Atmega162

    Anzeige

    Hi, weiß jemand wie man das 2te UART des Atmega162 ansprechen kann? Habe bisher nur mit der ersten gearbeitet da hab ich immer mit "On Urxc Onrxd" und "print" daten verschickt und empfangen. Aber die befehle funktionieren nicht mehr wenn ich jetzt einfach ne 1 dahinter schreib um die andere Schnittstelle zu nutzen. Hat jemand ne Idee? Danke schonmal. Gruß, Markus

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    29
    Beiträge
    1.614
    Leider kent Bascom die Register für die zweite serielle Schnittstelle nicht also kannst du nicht wie üblich mit dem Interrupt arbeiten sondern musst auf Waitkey() zurückgreifen und die Schnittstellen so definieren:

    Code:
    Config Com1=... und Config Com2=...
    
    Open Com1 for Binary as #1
    Open Com2 for Binary as #2
    
    Printbin #1, Var
    Printbin #2, Var
    
    Close #1
    Close #2
    Es kann sein, dass ich die Syntax nicht ganz getroffen habe...

    Martin
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118

    Irgendwie will das nicht...

    Danke erstmal für deine Hilfe aber viel weiter bin ich noch nicht.
    Ich hab jetzt config com2 benutzt wie es in der Bascom Hilfe drinsteht. Hab ich da vielleicht was falsch gemacht? Bei folgendem Code bringt er mir immer Fehler 31 (invalid datatype) in der Zeile mit "open com2". Für was ist eigentlich dieses "Dummy" muss ich da vielleicht was anders reinschreiben?
    Code:
    Config Com2 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
    
    Open Com2 For Binary As #2
    
    Printbin #2 , Var
    
    Close #2

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    29
    Beiträge
    1.614
    Config Com2 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0

    Open "Com2" For Binary As #2

    Printbin #2 , Var

    Close #2
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.05.2004
    Ort
    Detmold
    Alter
    30
    Beiträge
    557
    Jo, ist mir auch aufgefallen, du musst die Anführungszeichen bei "Com2" beachten, sonst gibt es den besagten Fehler.

    Gruß, Trabukh

    P.S.
    Mir ist schon klar, dass ich damit x-ryder zitiere, aber ich wollte nochmal explizit auf die Anführungszeichen hinweisen...
    "Der Mensch wächst am Widerstand" (Werner Kieser)

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118
    Also bei mir geht das nicht...
    Code:
    Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
    Config Com2 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
    
    Open "Com2" For Binary As #2
    Printbin #2 Var
    Close #2
    
    Open "Com1" For Binary As #1
    Printbin #1 Var2
    Close #1
    Wenn ich "Printbin Var2" mache, dann gehts auf dem ersten comport. aber "printbin #irgendwas var" geht nie. Liegt das an mir???

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    29
    Beiträge
    1.614
    du musst natürlich dem compiler noch sagen das du den mega162 hast:
    Code:
    $regfile = "m162def.dat"
    das kommt ganz annen anfang
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118
    Hey hab grade bemerkt das bei open "com1:" der doppelpunkt gefehlt hat, jetzt gehts. allerdings nur mit com1... auf dem datenblatt vom atmega162 steht bei den pins PB2 und PB3 (RXD1/AIN0) und (TXD1/AIN1). Muss ich das vielleicht irgendwie definieren ob ich den pin jetzt als TXD oder AIN (was auch immer AIN sein soll) verwenden will?

  9. #9
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    01.03.2004
    Ort
    Bielefeld (JA, das gibt es!)
    Alter
    29
    Beiträge
    1.614
    siehe meine letzte nachricht, damit gehts
    Ich will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds, Entwickler von Linux

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118
    ja, das hatt ich drin *g* hab ja bisher immer mit nem Mega8 rumprogrammiert, und jetzt hab ich mir den 162er zugelegt wegen dem zweiten UART aber irgendwie ist hier alles anders und nichts funzt wie beim Mega8. Hast du den 2. COmport schonmal zum laufen bekommen? Also irgendwie bin ich grad am verzweifeln....

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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