Hello,
i´ve got a problem....
I want to read an unsigned long out from the serial.
I can´t use functions like atoi() or Serial.parseInt(), because my
Value isn´t an integer.
Can anybody help me?
Thank you,
bluefix
Hello,
i´ve got a problem....
I want to read an unsigned long out from the serial.
I can´t use functions like atoi() or Serial.parseInt(), because my
Value isn´t an integer.
Can anybody help me?
Thank you,
bluefix
You could use atol() instead of atoi().
http://www.cplusplus.com/reference/cstdlib/atol/
strtol() is another option which is more robust, but has a larger footprint.
http://www.cplusplus.com/reference/cstdlib/strtol/
Both functions return a long int, i think.
I need an unsigned long.
Can i change the code of that functions to get an unsigned long or do I have to find an other function?
Both functions return a long int, i think.
No need to think, when you can read:
parseInt() returns the first valid (long) integer number from the current position.
I need an unsigned long.
Are you really going to exceed 2,147,483,647? You can store the long in an unsigned long variable.
parseInt may look for a long, but according to its arduino page it returns an int as the op said.
For unsigned, you can use the unsigned version of strtol, called 'strtoul'
http://www.cplusplus.com/reference/cstdlib/strtoul/
Example usage:
unsigned long ul = strtoul(inputString,NULL,base);
Value isn´t an integer.
If it isn't an integer, why are you trying to store it in an integer datatype?
parseInt may look for a long, but according to its arduino page it returns an int as the op said.
No, it doesn't:
long parseInt(); // returns the first valid (long) integer value from the current position.
From the linked reference page:
Description
parseInt() returns the first valid (long) integer number from the current position.