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
So macht das auch kein Mensch schau dir mal die Code samples an. http://bascom-forum.de/index.php?topic=136.msg399#msg399
Versuche mal "UCSRA.RXC" . Damit gibt sich jedenfalls beim Mega8 Bascom zufrieden. MfG Paul
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
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)
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.