Go Down

Topic: Using millis() to get elapsed time (Read 10942 times) previous topic - next topic

PaulS

Quote
I think it is only a 4 digit integer number that i am sending, Well here is the code,

Code: [Select]
   Serial.println(elapsedTime);
The print()/println() methods convert the value to a string. Suppose that millis() returns a value of 873. You are then sending '8', '7', '3', <CR>, <LN> to the serial port.

You are then reading one character at a time, '8', '7', '3', <CR>, and <LF>, and assuming that you are getting an integer value ('8' != 8), which is not the case.

The Serial class in Processing has a bufferUntil() method, where you can tell Processing to call serialEvent() only when the <CR>, for instance, arrives.

In the serialEvent() method, you can then use the readUntil() method to get all the data (as a string) that has arrived ("873") up to the specified character (<CR>). Then, int() will convert that string to an int.

ofey

#16
Oct 03, 2012, 02:38 pm Last Edit: Oct 07, 2012, 11:58 pm by ofey Reason: 1
Hi,

I am trying to solve this on the Processing forum. Here is a link in case it is of any interest to anyone.

http://forum.processing.org/topic/passing-a-variable-from-ardunio-to-processing

I have also included a Fritzing schematic.

Thanks,

Shane
Those who say it can't be done are usually interrupted by others doing it.

Go Up