Kollege,
Gosub Machwas -----> Machwas ,,, goto ist tödlich
Auf gosub muß return kommen, sonst spinnt er sich weg.
Testen tu' erstmal mit einem Terminal, Zeichen kannst du ja mal andere nehmen (65 == "A", 66 == "B") oder so.
Kollege,
Gosub Machwas -----> Machwas ,,, goto ist tödlich
Auf gosub muß return kommen, sonst spinnt er sich weg.
Testen tu' erstmal mit einem Terminal, Zeichen kannst du ja mal andere nehmen (65 == "A", 66 == "B") oder so.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Testen kann er's auch mit seinen werten 70="F" 80= "P"
Stimmt, mit den returns hast du recht.
Dann muß aber auch hinter das Hauptprogramm ein END
Sonst spinnt er auch.
Inkey bezieht sich auf die serielle Schnittstelle und wartet nicht bis ein Zeichen kommt, sondern gibt eine "0" raus wenn kein Zeichen empfangen wurde.bleibt da solange hängen bis eine taste gedrückt wird. mit inkey kannste keine baud-botschaft abfragen
Von daher sollte es gehen.
Hab' Inkey aber noch nie benutzt. Vielleicht irre ich mich ja auch, aber so verstehe ich das Handbuch.
Im Sim geht's auch so. Hab' nur noch LCD Befehle reingemacht, damit man was sieht
GrußCode:$baud = 9600 Config Portb = Output Dim Zeichen As Byte Zeichen = 0 Rsabfrage: Do Zeichen = Inkey() Loop Until Zeichen <> 0 If Zeichen = 70 Then Gosub Machwas If Zeichen = 80 Then Gosub Mach Goto Rsabfrage End 'end program Machwas: Portb.1 = 1 Lcd "1" Return Mach: Portb.1 = 0 Lcd "2" Return
Christopher
Du hast definitiv recht, inkey warte nicht. Du solltest ihn aber verwenden, da der Befehl auch mit "config serialin=buffer" kooperiert. Wenn du UDR selbst liest, amputierst du ihn da.
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Vielen Dank für die Hinweise! ich werde es das Wochenende mal ausprobieren... Irgendwann muss es doch laufen!
Frohe Pfingsten!
Benedict
Probiers mal hiermit.
getacoCode:$regfile = "m8535.dat" $crystal = 10000000 $baud = 9600 Dim Rx_count As Byte 'ischarwaiting variabel Dim Rx_data As Byte 'Empfangenen Daten Config Serialin = Buffered , Size = 10 Do Rx_count = Ischarwaiting() If Rx_count > 0 Then Rx_data = Inkey() Select Case Rx_data Case 70 Print "Habe 70 erhalten." Case 80 Print "Habe 80 erhalten." End Select End If Loop End
Hi Leute
ich hab jetzt mal beide Proggies (das von chr-mt und von Getaco) ausprobiert.
Wenn ich im Bascom Terminal "Send ASCII Character" anklicke und dann 70 oder 80 eintippe, sehe ich an der M101 Station duch das blinken der LED, dass was gesendet wird und kurz darauf wieder ein Aufleuchten... Leider wird im Terminal nix angezeigt!
Heißt das Blinken das es theoretisch funzt?!?
MFG!
Lesezeichen