hi Ich beschäfige mich jetzt schon seit langem, mit der Komunikation eines AVR mit dem Computer oder ehr gesagt mit Visual Basic 2005. Nun ich möchte gerne dinge die der Atmel mir mit printf zum PC sendet auch auf dem Computer Angezeigt bekommen. Damit sind wir auch bei meinem Problem nehme ich mir nämlich das Hyperterminal bekomme ich folgendes vom Atmel 200 dies bekomme ich aber nur wenn ich zuvor vom PC folgendes übertragen habe 3 150 im Atmel wird dann einfach zu versuchszwecken 50 hinzuaddiert und es kommt die Rückmeldung 200 so wie es sein soll. Allerdings bin ich mit meinen versuchen mit VB 2005 nicht sehr weit gekommen das einzigste was ich hinbekommen habe ist das mir folgendes angezeigt wurde. 203 150 dabei vermischt mir das System einfach das Ergebniss mit dem was ich zuvor gesendet habe dieses Ergebniss habe ich mit einem Timer erreicht in dem ich erst an den Atmel 3 150 gesendet habe und direkt danach mit ReadLine ausgelesen. Erscheind diese Zahlenkombination. (Code) Daher würde ich von euch gerne wissen wie ich soetwas sinvoll aufbauen kann? Ich habe schon etwas von DataReceived gehört und mich auch schon daran versucht allerding wurde das ereignis nie bei mir ausgelöst. Hier mein bisheriger Code:
1 | Public Class Form1 |
2 | |
3 | Dim aktwert As sting |
4 | |
5 | Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load |
6 | SerialPort1.BaudRate = 9600 |
7 | SerialPort1.DataBits = 8 |
8 | SerialPort1.PortName = "COM1" |
9 | SerialPort1.StopBits = System.IO.Ports.StopBits.One |
10 | SerialPort1.Parity = System.IO.Ports.Parity.None |
11 | End Sub |
12 | |
13 | Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick |
14 | SerialPort1.Open() |
15 | SerialPort1.Write("3 150" & Chr(10)) |
16 | aktwert = SerialPort1.ReadLine() |
17 | TextBox1.Text = aktwert |
18 | SerialPort1.Close() |
19 | End Sub |
20 | End Class |
P.s. Ich habe erst vor kurzem mit vb6 angefangen und bin noch in der lernphase!