Moin, ich versuch grad mit Bascom ne Servostererung zu basteln die über
RS232 gesteuert wird, bin ziemlich am Anfang.
Über en normales Terminal (z.b. das von Bascom sende ich z.b 150, der
Servo fährt dann auf den linken Anschlag), Problem is nur ich möchte das
ganze mit nem C# Programm steuern, erstmal möchte ich nur ne Zahl
senden, z.B. 150.
Ich hab das ganze mal mit nem Sniffer aufgezeichnet:
Wenn ich mit dem Bascom-Terminal sende kommt das:
1 | 115500
|
2 |
|
3 | Empfangen: 150
|
so funktionierts auch.
Wenn ichs mit folgendem C# send:
1 | // Instantiate the communications
|
2 | // port with some basic settings
|
3 | SerialPort port = new SerialPort("COM3", 4800, Parity.None, 8, StopBits.One); // Open the port for communications port.Open();
|
4 |
|
5 | // Open the port
|
6 | port.Open();
|
7 |
|
8 | port.Write("150");
|
9 |
|
10 | //port.Write(new byte[] {0x0A, 0xE2, 0xFF}, 0, 3);
|
11 |
|
12 |
|
13 | // Close the port
|
14 | port.Close();
|
seh ich im Sniffer folgendes:
wenn ich nochmal sende steht direkt dahinter wieder 150
wenn ich mit nem "normalen" Terminal was send kommt das inner neuen
Zeile, aber das tut glaub nichts zur Sache.
Hab vorhin mit meim Dad telefoniert, der meinte ich muss bevor ich das
sende die Zahl in ASCII Zeichen umwandeln.
Hab aber nirgends gefunden wie das geht, find immer nur ASCII in HEX
umwandeln, weis von euch Jemand wie das geht?
Freu mich jetz schon über Antworten :)
Gruss
David