Hoi iedereen,
Ik ervaar wat onverwacht gedrag wanneer ik mijn Arduino een ontvangen string terug wil laten sturen over de seriële poort. Ik zal hier de code en het resultaat posten. Ik hoop dat iemand een idee heeft wat er fout gaat en/of wat ik verkeerd doe.
Zoals je ziet leest de Arduino een ontvangen string en knalt deze dan terug met een Serial.println:
Je zou verwachten dat de string in z'n geheel in één keer terugkomt, maar dat blijkt niet het geval. Op de één of andere manier hakt ie 'm in stukjes. Je kunt dit zien doordat ik de tekst 'break' ertussen heb geknutseld. Die regel zou ie volgens mij helemaal niet mogen bereiken voordat deze hele rxstring 'op de lijn' is gezet.
Onderstaande is wat er in de serial monitor verschijnt:
Alle hulp wordt op prijs gesteld!
Ik ervaar wat onverwacht gedrag wanneer ik mijn Arduino een ontvangen string terug wil laten sturen over de seriële poort. Ik zal hier de code en het resultaat posten. Ik hoop dat iemand een idee heeft wat er fout gaat en/of wat ik verkeerd doe.
Zoals je ziet leest de Arduino een ontvangen string en knalt deze dan terug met een Serial.println:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| /* * This sketch is a test for sending strings back and forth via the serial port. */ void setup() { // initialize the serial communication: Serial.begin(9600); } void loop() { char rxbyte; String rxstring; // check if data has been sent from the computer: while (Serial.available()!= 0) { // read the most recent byte: rxbyte = Serial.read(); // add the most recent byte to the string: rxstring = rxstring + rxbyte; //send the received string back over the serial port: } if (rxstring != "") { Serial.println(rxstring); Serial.println("break"); //test to see what's going wrong } rxstring = ""; } |
Je zou verwachten dat de string in z'n geheel in één keer terugkomt, maar dat blijkt niet het geval. Op de één of andere manier hakt ie 'm in stukjes. Je kunt dit zien doordat ik de tekst 'break' ertussen heb geknutseld. Die regel zou ie volgens mij helemaal niet mogen bereiken voordat deze hele rxstring 'op de lijn' is gezet.
Onderstaande is wat er in de serial monitor verschijnt:
code:
1
2
3
4
5
6
7
8
9
10
| d break eze zin w break ordt in kleine stuk break jes gehakt en ik snap niet waar break om kan iemand me dit uitleggen? break |
Alle hulp wordt op prijs gesteld!
Tapping progress on the shoulder and saying: "More forwards, please!".