Ja ,jetzt erscheint beim debug das :
Anhang 24956
Druckbare Version
Ja ,jetzt erscheint beim debug das :
Anhang 24956
Ja passt doch. Er kriegt in der geforderten Zeit kein CR&LF und bricht ab. Wäre das Error handling (das mit dem Try) jetzt nicht auskommentiert, würde dein Programm sauber weiter laufen.
Dann kommentier das Timeout mal wieder aus und sende ihm irgendwas von mir aus
Print ("Hallo")
Dann müsste eigentlich in TextBox3 "Hallo" stehen.
Also ich habe jetzt das Timeout entfernt aber das Try noch nicht eingebaut.
Jetzt habe ich einfach einen Code für den MC mit Print einmal pro Sekunde "Hallo" geschrieben.
Doch kann ich wenn ich das vb Prog debug gemacht habe nur einmal den Button 4 drücken und da erscheint nur einmal Hallo.
Doch liegt das wahrscheinlich daran ,dass es immer in der ersten Zeile ausgegeben wird un dich da nur keinen Unterschied sehen kann.Oder ??
Jetzt habe ich mal diesen Code für den MC genommen:
Doch wenn ich den angezeigt bekommen möchte funktionier das mit dem Button nicht (er wartet wieder ewig).Code:$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600
$hwstack = 32
$swstack = 32
$framesize = 32
Config Portd.7 = Output
Config Portc.2 = Output
Config Portc.5 = Output
Portc.2 = 1
Portc.5 = 1
Dim Wort As Byte
Wait 1
Sound Portd.7 , 400 , 450
Sound Portd.7 , 400 , 250
Sound Portd.7 , 400 , 450
Wait 2
Main:
Waitms 500
Input "?" , Wort
Select Case Wort
Case 1
Waitms 10
Portc.5 = 0
Print "An"
Waitms 500
Case 0
Waitms 10
Portc.5 = 1
Print "Aus"
Waitms 500
Case 3
Waitms 10
Portc.2 = 0
Print "An"
Waitms 500
Case 2
Waitms 10
Portc.2 = 1
Print "Aus"
Waitms 500
Case Else
Waitms 10
Print "Fehler"
Waitms 10
End Select
Goto Main
Meine Vermutung :Liegt es an dem Input Befehl ???
Ja der MC wartet auf ein Zeichen und VB auch. Da wird nichts passieren.
Nimm den Input und das Select case mal weg. Mach doch erstmal was einfaches ohne viel SchnickSchnack.
Print "An"
waitms 500
Print "Aus"
waitms 500
Das Packst du in eine While oder Loop und guckst ob sich der text in VB alle 500ms ändert.
Das habe ich ja ausprobiert gehabt. So bald ich ein zweites mal den Button drücke wartet er und es kommt nichts neues.
Wenn ich dann den Button für die LED an drücke ,kommt als Fehlermeldung ,dass der Port schon belegt sei.
Das hast du aber nicht geschrieben. Der MC Code den du gepostet hast sagt auch was anderes. Hast du das wirklich in einer Loop gehabt? Das er immer wieder "An" und "Aus" sendet?
Ja ich habe ja vorher den MC Code geändert :
Code:$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600
$hwstack = 32
$swstack = 32
$framesize = 32
Config Portd.7 = Output
Wait 1
Sound Portd.7 , 400 , 450
Sound Portd.7 , 400 , 250
Sound Portd.7 , 400 , 450
Wait 2
Do
Print "An"
Waitms 500
Print "Aus"
Waitms 500
Loop
End
Und da schreibt er wenn du Button4 clickst nur einmal "An" in die TextBox3?
Falscher Alarm. Ich habe es jetzt noch mal gründlicher getestet und es hat funktioniert. Doch kann es vielleicht sein ,dass es nicht sofort angezeigt wird/reagiert ???
Dann ginge es jetzt nur noch darum wie ich es unabhängig , ohne das Senden vom Pc aus zu beeinflussen, hinbekomme ??
Kann durchaus sein das es verzögert und unregelmäßig ankommt. Windows ist kein Echtzeit Betriebssystem und wenn es was wichtigeres/anderes zutun hat muss dein Programm eben warten bis Windows wieder zeit hat.