@Fabian E.
Wie empfängst du die Daten, in deinem C# programm??
@Fabian E.
Wie empfängst du die Daten, in deinem C# programm??
Die Klasse heißt SerialPort.
Ja soweit bin ich auch gekommen ;->
Ich meine du sendest ja "Bat: 123" wie "schneidest" du das "Bat: " aus?
Naja, das ist simple Stringverarbeitung... Das hat erstmal nichts mit dem RP6 zu tun sondern ist einfach Grundlagenwissen in C#.
Guck dir mal die Methoden an, die ein String bereitstellt...
@radbruch
Senden tuht er jetzt ununterbrochen (soll ja auch so sein!)
Aber er "hört" nicht auf mich... und die Servos gehen in die MAX stellung?!?
Code:void task_befehle(void) { char uart_receive_buffer[UART_RECEIVE_BUFFER_SIZE+1]; uint8_t uart_status; uint8_t read_pos = 0; uint8_t write_pos = 0; uint8_t read_size = 0; uint8_t write_size = 0; static uint8_t dummy; if(((uint8_t)(write_size - read_size)) < UART_RECEIVE_BUFFER_SIZE) { uart_receive_buffer[write_pos++] = UDR; write_size++; if(write_pos > UART_RECEIVE_BUFFER_SIZE) write_pos = 0; uart_status = UART_BUFFER_OK; } else { dummy = UDR; uart_status = UART_BUFFER_OVERFLOW; } long pos = atoi(uart_receive_buffer); if(pos < 180 && pos > 0) { servo1_position = pos; } else if(pos < 360 && pos > 180) { servo2_position = pos - 180; } else if(pos < 540 && pos > 360) { servo3_position = pos - 360; } else if(pos == -1) { I2CTWI_transmitByte(PCF, 0); } else if(pos == -2) { I2CTWI_transmitByte(PCF, 3); } }
Okay, was soll das denn mal werden? Das sieht mir irgendwie schwer kompliziert aus...
Aber du hast meinen Tipp imernoch nicht berücksichtigt. Du liest immer nur das erste Zeichen aus.
Dann stellst du sofort deinen Servo auf dieses erste Zeichen. Du musst erst warten, bis die komplette Zahl übertragen wurde.
Ja, finde ich auch!Das sieht mir irgendwie schwer kompliziert aus...
Das ist das Problem, wenn ich "while(!Eingabe());" schreibe blockiert das solange die while-schleife bis ich was vom Pc schicke!Du liest immer nur das erste Zeichen aus.
Dann stellst du sofort deinen Servo auf dieses erste Zeichen. Du musst erst warten, bis die komplette Zahl übertragen wurde.
Lesezeichen