serialEvent() - Problem mit der Länge des CharArrays
hallo,
ich habe mir vorhin einmal das programmbeispiel für das serialevent angeschaut und dieses versucht, entsprechend auf zeichenketten umzugestalten mit ein paar extras.
das programm wird noch etwas erweitert. sodass eine zeichenkette serialanalysis nur geschickt wird, wenn die ersten zahlen einer festen adresse entsprechen (später für den rs485 bus).
das eigentliche problem, ich gerade habe, das nicht alle eingegeben zeichen ausgegeben werden. es werden lediglich die ersten 10 zeichen ausgegeben. weiß einer einen rat?
gruß stefan
ich habe mir vorhin einmal das programmbeispiel für das serialevent angeschaut und dieses versucht, entsprechend auf zeichenketten umzugestalten mit ein paar extras.
das programm wird noch etwas erweitert. sodass eine zeichenkette serialanalysis nur geschickt wird, wenn die ersten zahlen einer festen adresse entsprechen (später für den rs485 bus).
das eigentliche problem, ich gerade habe, das nicht alle eingegeben zeichen ausgegeben werden. es werden lediglich die ersten 10 zeichen ausgegeben. weiß einer einen rat?
gruß stefan
code: [select]
/*
* serialevent.ino
*
* created: 7/7/2014
* author: sschultewolter
*/
#include "liquidcrystal.h"
liquidcrystal lcd(12, 11, 2, 3, 4, 5);
void setup() {
lcd.begin(16,2);
serial.begin(115200);
}
void serialevent() {
static uint8_t index = 0;
const uint8_t max_chars = 16;
char input[max_chars];
char inchar;
while (serial.available()) {
inchar = (char)serial.read();
if(inchar == '\n' || inchar == '\r') {
input[index] = '\0';
serialanalysis(input, index);
memset(input, 0, max_chars);
index = 0;
}
else if(index >= max_chars) {
index = 0;
memset(input, 0, max_chars);
serial.println("error");
}
else {
input[index] = inchar;
index++;
}
}
}
void serialanalysis(char input[], int maxchars) {
for(int = 0; <= maxchars; i++) serial.print(input[i]);
serial.println();
// something
}
void loop() {
// something
}
dein array muss ebenfalls static sein, oder?
Arduino Forum > International > Deutsch (Moderator: uwefed) > serialEvent() - Problem mit der Länge des CharArrays
arduino
Comments
Post a Comment