Hallo Leute, Habe mal ein Problem wo ich beim lesen im Forum nicht weitergekommen bin und brauche jetzt mal Hilfe von euch. Habe ein Problem bei einem VB.net Programm welches mit meinem Atmega 2561 sprechen soll. Da ich mit VB.net noch nicht so viel Erfahrung habe weiß ich nicht was ich verkehrt mache. Ich möchte vom Atmega Daten empfangen. Es soll ein String mit dem Wert "EIN" oder "Aus" zum Computer gesendet werden. Jetzt mein Problem, wie muß ich das anstellen ? Habe es bis jetzt so versucht, aber mein Programm hängt sich dann auf: ComPort.Open() ComPort.Write("6") ComPort.Close() ComPort.Open() Dim S_CH01 As String S_CH01 = ComPort.ReadLine() ComPort.Close() If S_CH01 = "Ein" Then cmdKanal_01.BackColor = Color.Green Else cmdKanal_01.BackColor = Color.Red End If Das senden zum VB Programm klappt wirklich gut, nur wie kann ich Daten empfangen ? Bräuchte wirklich dringend Hilfe. Gruß Jörg PS: Suche noch ein Buch wo ich sowas nachschlagen kann. Könnt Ihr mir ein Buch oder einen Kurs empfehlen ?
>ComPort.ReadLine()
Liest eine Zeile ein, schickt dein µC denn ach ein CR+LF?? Sonst wartet
VB da nämlich drauf
Hallo Timo, danke für deine Antwort. Wie sende ich den CR+LF von Bascom aus, sende die Daten per print #2, "Ein". Dann sollte er auch CR LF senden. Der Code in Bascom: Config Com2 = 115200 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 Open "com2:" For Binary As #2 Enable Interrupts Echo On Readeeprom S_speicher_ein_aus_a , &H9C0 Print #2 , "Ein" Close #2 Gruß Jörg, der noch weitere Hilfe braucht.
ComPort.Close() ComPort.Open() Evtl. ist das zu schnell hintereinander. Du testest ja gar nicht auf ComPort.IsOpen. Und wieso machst du ihn überhaupt zu wenn du ihn eh wieder aufmachst? Ich würde den auf machen, die "6" senden dann eine Endlosschleife machen und dafür ein DataReceived-Event verwenden um ein Flag zu setzen, welche dann die Schleife verlässt.
Hallo Timmo, erstmal danke für deine Antwort. Wie teste ich ob der ComPort offen ist und wie bin ich zu schnell ? Gruß Jörg
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.