tobimc
09.03.2005, 18:25
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:
'----------------------------------------------------------
$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
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:
'----------------------------------------------------------
$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