PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Tastatur Echo über RS232 - Interruptproblem



rovag
06.11.2007, 14:38
Moin,
ich habe folgendes Problem:
Ich möchte mit dem RN Control eine Aufgabe realisieren. Ich will über das Terminal ein paar Zeichen senden und der Controller soll diese über das Terminal zurück geben. Dafür hab ich mir folgende Funktion rausgesucht:

$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
$baud = 9600

Dim Ton As Integer
Dim S As String * 10

Enable Interrupts
Enable Urxc
On Urxc Onrxd
Do
If Len(s) > 9 Then
Print S
S = ""
End If
Loop
End
Onrxd : S = S + Chr(udr)
Return



Allerdings hab ich das Problem, dass Bascom mir beim übersetzen jedesmal den Fehler Unknown statement [Onrxd] ausgibt. Ok denk ich mir da hab ich mich bestimmt verschrieben, um das zu überprüfen hab ich mal die Zeile Onrxd:... auskommentiert, und siehe da ich bekomme den fehler Label not found: [Onrxd]
Also folgere ich dass ich keinen Tipfehler habe denn sonst würde er ja jetzt nicht auf einmal das Label vermissen?
Ich bin am verzweifeln und würde mich sehr freuen wenn jemand von euch die Lösung parat hätte
Gruß Björn

recycle
06.11.2007, 17:11
Bei einem Label gehört das Semicolon direkt hinter den Label-Namen (also kein Blank dazwischen).

Bei dir ist Onrxd kein Label, sondern ein Befehl und den kennt Bascom halt nicht.
Schreib den letzen Teil mal richtig, dann compiliert Bascom das auch.


Onrxd:
S = S + Chr(udr)
Return

rovag
07.11.2007, 19:18
ja das hab ich mir auch gedacht, also hab ich das Leerzeichen weggemacht, auf enter gedrückt und da war das leerzeichen wieder. Schon etwas merkwürdig das ganze

rovag
07.11.2007, 19:53
Ok, ich hab das Problem gelöst:
Unter Options->Environment->Editor gibt es die Checkbox Reformat Code.
Nachdem ich da den haken raus gemacht hab, fügt mir Bascom keine Leerzeichen mehr ein wo sie nicht hingehören
Danke nochmal

Björn