-
-
Neuer Benutzer
Öfters hier
Hallo Steffen44,
ich habe noch einmal nachgesehen wie ich das mit einem Atmega 128 programmiert habe. Hier der Code:
'--------------------------------------------------------------
' serial INPUT
'--------------------------------------------------------------
$regfile = "m128def.dat"
$crystal = 8000000
$baud = 19200
Config Serialin1 = Buffered ', Size = 20
Enable Interrupts
Enable Urxc
On Urxc Interrupt0
Dim A As Byte
Open "Com1:" For Binary As #1
A = 0
Anfang:
Cls
Lcd "A=" ; A
Waitms 300
Goto Anfang
Interrupt0:
Inputbin #1 , A
Return
End
Im Simulator für den Atmega 128 lief es.
Du mußt nur das Regfile auf deinen Atmega 256 ändern.
Der Prozessor wartet nicht auf ein Zeichen sondern benutzt den Interrupt.
In der Zwischenzeit läuft er durch das normale Programm. In meinem Fall durch die mit Anfang gekennzeichnete Schleife. Erst wenn ein Zeichen empfangen wurde Wird URXC auf 1 gesetzt. Dann wird der Interrupt ausgelöst und springt zum Punkt Interrupt und legt das Zeichen in der Variable A ab darach springt an die Stelle zurück wo er herkam bevor er in den Interrupt sprang.
Dann läuft er durch die "Anfang"-Schleife und zeigt das Zeichen auf einem Display, das am Port A angeschlossen ist an.
Mfg Jürgen
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen