Probleme mit der UART beim Mega162 mit Bascom

Gast #652405
Lesenswert?

Hallo,

habe Probleme, beim Mega162, der ja zwei UARTs hat, das Statusregister 
RCX auszulesen.
Beim Mega16 habe ich das immer so gemacht:

If USR.RXC = 1 Then  'Wenn Byte empfangen...
    i = UDR            'Byte aus UART auslesen
End If

Beim Mega162 müßte es ja laut Datenblatt UCSR1A.RXC1 (zweiter Kanal)
heißen. Funktioniert aber nicht, ich bekomme die Fehlermeldung: "invalid 
Datatype". Mit USR1.RXC1 habe ich es auch versucht.
Welche Bezeichnung verwendet den Bascom, beim Mega16 heißt das Register 
ja auch nicht USR.RXC ?


Gruß Gerd
Gast #652463
Lesenswert?

Hallo,

@ bas_ratte:
Mit Interrupt ist das natürlich viel eleganter, aber was akzeptiert 
Bascom als Bezeichnung für die entsprechenden Register der beiden 
Kanäle.
Es funktionier leider nur: USR.RXC

@  Paul Baumann:
> Versuche mal "UCSRA.RXC" . Damit gibt sich jedenfalls beim Mega8 Bascom
> zufrieden.

Geht leider auch nicht :-(

Gruß Gerd
Gast #652466
Lesenswert?

das brauchst du alle nicht mit der funktion
Open "COM2:" For Binary As #2

Open "COM3:" For Binary As #3

Open "COM4:" For Binary As #4


Print "Hello"                                               'first uart

Dim B1 As Byte , B2 As Byte , B3 As Byte , B4 As Byte

Dim Tel As Word , Nm As String * 16


'Input #2 , "Name ?" , Nm

'Print #2 , "Hello " ; Nm


Do

  Incr Tel

  Print Tel ; " test serial port 1"

  Print #2 , Tel ; " test serial port 2"

  Print #3 , Tel ; " test serial port 3"

  Print #4 , Tel ; " test serial port 4"




  B1 = Inkey()                                              'first uart

  B2 = Inkey(#2)

  B3 = Inkey(#3)

  B4 = Inkey(#4)
Gast #652480
Lesenswert?

Hallo  bas_ratte,

besten Dank, das werde ich morgen mal ausprobieren.

Allerdings, wenn ich die Sache mit Interrupt lösen will muß ich doch 
trotzdem wissen, wie Bascom die entsprechende Register bezeichnet.
Für die Megas mir einem Kanal finde ich jede Menge Beispiele, für die 
mit mehreren kaum was.

Wäre in dem Fall wohl besser mit Assembler zu lösen?


Gruß Gerd

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren