Serial Printing Duplicate entries
i using serial send commands arduino, works fine except after every command sent duplicates previous input.
example:
send 1: s085 received: s085
send 2: e100 received: s085
send 3: e095 received: e095
send 4: q045 received: e095
send 5: q045 received: e045
etcetc
this current code:
edit: code edited clarity
any tips on how remove duplicate entries?
example:
send 1: s085 received: s085
send 2: e100 received: s085
send 3: e095 received: e095
send 4: q045 received: e095
send 5: q045 received: e045
etcetc
this current code:
code: [select]
char buffer[5];
byte bufferindex = 0;
long number = 0;
void setup() {
serial.begin(115200);
}
void loop() {
while (serial.available())
{readserialdata(serial.read());}
}
void readserialdata(char inchar) {
//if buffer full, reset
if (bufferindex == 5) {bufferindex = 0; number = 0;}
//if first character 's', continue, increment
if (bufferindex == 0 && ( inchar == 's' ||
inchar == 'e' ||
inchar == 'w' ||
inchar == 'q' ||
inchar == 'r')){
buffer[bufferindex] = inchar;
bufferindex++;}
//if reading inputs 1-3 , input numeric, set value, increment
if (bufferindex >= 1 && bufferindex <= 4 && inchar >= '0' && inchar <= '9')
{number = number * 10 + (inchar - 48); bufferindex++;}
//if buffer encoded, execute command; in case display output
if (bufferindex == 4) {
// movement(buffer[0], number); //this payload
serial.print("your input is: ");//delete after testing
serial.print(buffer[0]); //delete after testing
serial.println(number);//delete after testing
}}
edit: code edited clarity
any tips on how remove duplicate entries?
it best practice delay millis avoid serial buffer overloading, dont know if causing problem, give try.
Arduino Forum > Forum 2005-2010 (read only) > Software > Interfacing > Serial Printing Duplicate entries
arduino
Comments
Post a Comment