Barthimaeus
14.12.2007, 15:46
Leider bin ich unfähig eine passende Rubrik zu finden, deswegen stelle ich miene Frage jetzt hier. Ich habe mir mit SharpDevelop VB ein kleines Terminalprogramm geschrieben, das in einer Textbox ankommende Daten von der RS232 Schnittstelle ausgibt und einer zweiten Textbox, deren Inhalt über RS232 an AVR geschickt wird. Das empfangen klappt wunderbar und vollkommen verlustfrei. Nur das verschicken der Daten noch nicht. Ich vermute, dass es daran liegt, dass man den Inhalt der Textbox sich standartmäßig in einer String Variable befindet. Deswegen wollte ich mir mit der val() Funktion abhilfe verschaffen. Nur leider scheint er nur das erste Zeichen in der Textbox zu übertragen
->wenn ich 24 schicke meldet mir mein AVR eine 2 zurück, ist es 114 bekomme ich eine 1, usw.
Das Programm auf dem Mikrocontroller (ATTINY13) schickt lediglich den von der RS323 Schnittstelle empfangenen Wert unverändert zurück.
Der fürs verschicken zuständige Code im Terminalprogramm sieht so aus:
Sub Button2Click(ByVal sender As Object, ByVal e As EventArgs)
serialport1.WriteLine(val(textbox2.Text))
End Sub
Der Code auf dem AVR sieht so aus:
$hwstack = 22
$regfile = "attiny13.dat"
$crystal = 9600000
Baud = 9600
Open "comb.1:9600,8,n,1,INVERTED" For Output As #1
Open "comb.2:9600,8,n,1,INVERTED" For Input As #2
Dim Num As Byte
Do
Get #2 , Num
Put #1 , Num
Wait 1
Loop
End
Vielen herzlichen dank schon im Vorraus und ich hoffe, dass mir niemand die falsche Rubrik all-zu böse nimmt :Weihnacht
->wenn ich 24 schicke meldet mir mein AVR eine 2 zurück, ist es 114 bekomme ich eine 1, usw.
Das Programm auf dem Mikrocontroller (ATTINY13) schickt lediglich den von der RS323 Schnittstelle empfangenen Wert unverändert zurück.
Der fürs verschicken zuständige Code im Terminalprogramm sieht so aus:
Sub Button2Click(ByVal sender As Object, ByVal e As EventArgs)
serialport1.WriteLine(val(textbox2.Text))
End Sub
Der Code auf dem AVR sieht so aus:
$hwstack = 22
$regfile = "attiny13.dat"
$crystal = 9600000
Baud = 9600
Open "comb.1:9600,8,n,1,INVERTED" For Output As #1
Open "comb.2:9600,8,n,1,INVERTED" For Input As #2
Dim Num As Byte
Do
Get #2 , Num
Put #1 , Num
Wait 1
Loop
End
Vielen herzlichen dank schon im Vorraus und ich hoffe, dass mir niemand die falsche Rubrik all-zu böse nimmt :Weihnacht