Is it mandatory to call SerialX.read() in serialEventX() even when data is not my use?
Is this Particle related? or Arduino?
its related to particle
Why would you not want to read the data and use serialEventX()
?
But the plain answer is: “It’s not mandatory.”
based on some condition i want to read data (calls SerialX.read())
if condition is false i wont read data
–> so this causing the app running only in that particular serialEvent() only until i read data from that
i tested above said
in serialEvent1() i want to read only when lock1== true then only calling Serial1.read()
if not i was not calling Serial1.read()
then the app was looping in serialEvent1() until read data
That is perfectly acceptable, you just need to be aware that if you don’t regularly flush the buffer you will eventually lose data (buffer is 64byte) and once you start reading, you’ll possibly find some old garbage data in the buffer that arrived while your condition wasn’t sattisfied.
BTW, serialEvent1()
should only be implemented as a function that does not trap the code flow - you enter, act and leave the function - no prolonged looping!
thanks for suggestion…
i was just confirming it
the code snippet should be
void serialEvent1()
{
Serial.println(" event weight");
/// Serial.println(lock1);
if(lock1 == true)
{
char a = Serial1.read();
//Serial.println(a);
}
else
{
int l1=Serial1.available();
/// Serial.println(l1);
for(int im=0;im<=l1;im++)
Serial1.read();
}
}