Created Mon, 01 Apr 2013 16:56:16 +0000 by rodsir
Mon, 01 Apr 2013 16:56:16 +0000
Hello,
I can not run the function atof. The program works with arduino but it does not work with a card Uno32.
Thank you for your help.
double Frequence;
float Frequence1;
#include <stdlib.h>
void setup() {
//Init liaison série
Serial.begin(115200);
// init fréquence
Frequence=0;
Serial.println("--------------------------------------------");
Frequence = atof("12.356");
Serial.println(Frequence);
Frequence = atof("12,356");
Serial.println(Frequence);
Serial.println("--------------------------------------------");
Frequence1 = atof("12.356");
Serial.println(Frequence1);
Frequence1 = atof("12,356");
Serial.println(Frequence1);
}
void loop() {
}
Mon, 01 Apr 2013 18:58:48 +0000
Confirmed - its not you, there is a problem there.
strtod() does the same - returns 0.00 every time.
Mon, 01 Apr 2013 19:56:46 +0000
Yes, the result is always 0.00. Why? How to solve the problem?
Thank you.
Mon, 01 Apr 2013 22:55:28 +0000
I have raised it as an issue. It should get dealt with. Until then, you will have to look at manual parsing of the string.
Have two variables, both set to 0: total and divider.
Take the string a character at a time. If it's a digit, then multiply both the total and divider by 10 and add the digit to the total. If the character is a . then set the divider to 1.
When you reach the end of the string (say 12.345), you should end up with two values: 12345 and 1000. Divide the total by the divider, and you will end up with 12.345 as a float value.
Tue, 02 Apr 2013 07:46:19 +0000
OK, this is a known bug, and has been fixed in a very recent test build.
I have confirmed that it works fine in mpide-0023-linux32-20130324-test - you can download the latest test build for your platform from: [url]http://chipkit.s3.amazonaws.com/index.html?sort=lastmod&sortdir=desc[/url]
Wed, 03 Apr 2013 09:47:26 +0000
Hello,
Thank you Majenko. Not having the opportunity to work in Linux, I went looking in the http://chipkit.s3.amazonaws.com/index.html?sort=lastmod&sortdir=desc mpide-0023-windows-20130203-test release. Now the program works. Another big thank you. :P