Hallo,
das Tutorial hier http://www.youtube.com/watch?v=1qZO1OtjoJY gehört dazu.
Zeigt das Codefenster hier auch VB-Code an? - dann zeig mal Dein Programm - und zwar beide.
Werbung
Hallo,
das Tutorial hier http://www.youtube.com/watch?v=1qZO1OtjoJY gehört dazu.
Zeigt das Codefenster hier auch VB-Code an? - dann zeig mal Dein Programm - und zwar beide.
Hier der Code (den habe ich einfach vom Video übernommen) :
Zu DanielSan: Wie hast du das mit dem Com Port vorher schließen gemacht???Code:Public Class Form1 Private Sub COM1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged Try SerialPort1.PortName = TextBox1.Text SerialPort1.BaudRate = TextBox2.Text SerialPort1.Open() Button1.Enabled = False Button2.Enabled = True Button3.Enabled = True Catch ex As Exception MsgBox("Verbindung konnte nicht hergestellt werden") End Try End Sub Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing If SerialPort1.IsOpen = True Then SerialPort1.Close() End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click SerialPort1.Write("1" & vbCr) End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click SerialPort1.Write("0" & vbCr) End Sub End Class
Du hast die falsche klasse ausgewählt oder nicht? Du hast _Textchanged .... im Video ist es aber _click auf Button1.
Woher hattest Du diese Programm nochmal...
Ist es bei Dir denn auch Com1?
Wenn Du das so schreibst wie hier im Video müsstest Du doch auch ein Click-Event für einen Button1 verwenden? Was _TextChanged anstellt weiß ich leider auch noch nicht....
Kommt denn die Meldung MsgBox?
Stimmt,Haste Recht.Das habe ich wohl falsch abgeschrieben.Du hast die falsche klasse ausgewählt oder nicht? Du hast _Textchanged .... im Video ist es aber _click auf Button1.![]()
Jetzt funktioniert es schon mal ,aber es wird trotzdem das mit " Eine Ausnahme ist in..... aufgetreten" angezeigt. Was das bedeutet weiß ich nicht???
Was meinst du ??Woher hattest Du diese Programm nochmal...
Nein, es ist Com 10, aber das stört ja nicht ,da ich es umstellen kann.Ist es bei Dir denn auch Com1?
Was ??Kommt denn die Meldung MsgBox?
So also hat denn jetzt mal einer einen Code fürs Senden und Empfangen (von Text). Denn wenn ich den Menschen im Video richtig verstanden habe ist sein Code nur zum schalten von einer LED geeignet???
Ich glaube immer wenn du auch nur das geringste in der Textbox änderst, wird das gesendet. Mach es erstmal alles wie im Video.
Das mit dem schliessen sollte so gehen:
Wenn es COM10 ist musst du das auch einstellen.Code:Try SerialPort1.Close() SerialPort1.PortName = TextBox1.Text SerialPort1.BaudRate = TextBox2.Text SerialPort1.Open() Button1.Enabled = False Button2.Enabled = True Button3.Enabled = True Catch ex As Exception MsgBox("Verbindung konnte nicht hergestellt werden") End Try
Der Code sendet doch Text! Einmal eine 1 und einmal eine 0. Du hast den Gesamtzusammenhang noch nicht ganz verstanden.
Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]
Da hast du Recht. Jetzt habe ich es aber halbwegs verstanden (das Senden ).Der Code sendet doch Text! Einmal eine 1 und einmal eine 0. Du hast den Gesamtzusammenhang noch nicht ganz verstanden.
Wie könnte ich jetzt aber Sachen Empfangen und in einer Text Box anzeigen lassen ?? Die Sachen, die ich auf Youtube dazu gefunden habe hatten leider auch nicht funktioniert.
Könnt ihr mir da auch helfen??
Du hast die Menschen im Video falsch verstanden. Das ist ein einfaches Beispiel.
Übrigens fragte ich Dich auch nach dem Code auf dem AVR. Hier wir nämlich entschieden was passiert wenn eine "1" oder eine "0" oder ein "100" "255" "136" oder "125" rein kommt. Am einfachsten sind Zahlen am besten als Byte bei eine 8N1 Verbindung. Wenn Du mal guckst siehst Du ja das der Button2 nicht "1" heißt sondern "einschalten", das VB-Programm sendet nun eine "1" ab. Der AVR empfängt das ganze mit seinem Programm.
Wäre ja auch etwas unübersichtlich je nach Umfang des Codes wenn man die Buttons einfach nur 1, 2, 3 usw nennen würde.
Wenn man schon weiß das man Com 10 benutzt, sollte man es vielleicht auch in den Code schreiben, damit er auch diesen öffnet. Ansonsten könnte man versuchen den Com zu suchen...aber das ist wieder ein anderes Thema![]()
Geändert von HeXPloreR (25.03.2013 um 19:52 Uhr)
Das lesen geht fast wie das Schreiben. Such mal nach:
in einer SUchmaschine.Code:SerialPort1.Read()
Das solltest du jetzt alleine lösen können.
Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]
Also zu HeXPloreR : hier der Code :
Ich habe es auch schon mit dem Terminal Emulator und mit vb getestet. Hat funktioniert. Doch hatte ich ein Problem mit dem Summer. Als ich es erst in Bascom ausprobiert habe ,hatte er noch gesummt. Als ich es danach aber bei vb ausprobiert habe hat er nicht mehr gesummt. Dann habe ich es noch mal in Bascom versucht ,aber da wollte er dann auch nicht mehr summen. Nach einem Neubespielen des MC hat es genau so ausgesehen wie davor .Erst hat es in Bascom funktioniert ,sobald ich es aber einmal in vb testete hat es nicht mehr funktioniert. Warum ???????Code:$regfile = "m32def.dat" $crystal = 16000000 $baud = 9600 $hwstack = 32 $swstack = 32 $framesize = 32 Config Portd.7 = Output ' Summer für das Einschalten und für Fehlermeldungen Config Portc.5 = Output ' Led die von vb gesteuert wird Dim Wort As Word Wait 1 Sound Portd.7 , 400 , 450 'Summer Sound Portd.7 , 400 , 250 'Summer Sound Portd.7 , 400 , 450 'Summer Wait 2 Main: Waitms 500 Input "?" , Wort Select Case Wort Case 1 Waitms 10 Portc.5 = 0 Waitms 500 Case 0 Waitms 10 Portc.5 = 1 Waitms 500 Case Else Waitms 10 Sound Portd.7 , 400 , 450 Sound Portd.7 , 400 , 250 Sound Portd.7 , 400 , 450 Waitms 10 End Select Goto Main
Lesezeichen