PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : UART und ATMEga 8



Superfreak
12.02.2008, 10:24
Hi

Habe eine Frage wie kann ich mit hilfe z.B. des ATMEGA8 und dem MAX 232 signale speichern.
Das sollte läuft ja dann über den UART..
ich hoffe ihr könnt mir weiter helfen

Superfreak
12.02.2008, 11:22
habe bsi jetzt schon recherchiert das ich einen max 232 direkt an den µC hängen kann.. so habe ich ein bitmuster daran und möchte diese auswerten

habe auch ein probe programmm

'004.BAS: UART-Empfänger ohne Interrupt
'Hardware: MAX232 an PD0/PD1, Nullmodemkabel zum PC
'---------------------------------------------------
$Regfile = "2313def.dat" 'AT90S2313-Deklarationen
$Crystal = 3686400 'Quarz: 3.6864 MHz
$Baud = 9600 'Baudrate der UART: 9600 Baud

Dim i As Byte

Do
If USR.RXC = 1 Then 'Wenn Byte empfangen...
i = UDR '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


aber werde daraus nicht schlauch...
wenn z.b. das bitmuser 00111011 ankommt dann soll er dasmachen...

wie kann ich diese sachen unterscheiden

T.J.
12.02.2008, 13:14
Du kannst ja das Bitmuster einfach mit einem von dir definierten vergleichen.

Also Bitmuster = i

select case i
case "00111011"
Print ...

oder was meinst du?

Superfreak
12.02.2008, 13:36
ja wenn das bitmuster ankommt, soll er aktion 1 machen

bei dem 2 bitmuster aktion 2


wie kann ich da unterscheiden.. ?


also sozusagen

$Regfile = "2313def.dat" 'AT90S2313-Deklarationen
$Crystal = 3686400 'Quarz: 3.6864 MHz
$Baud = 9600 'Baudrate der UART: 9600 Baud

Dim i As Byte

Do
If USR.RXC = 1 Then 'Wenn Byte empfangen...

i = UDR 'Byte aus UART auslesen ----------> was ist das

Select Case i
Case "00111011"
Print '1 Signal'

Case "11100010"
Print "2 Signal"

Case Else
Print "Fehler"

End Select
End If
Loop
End