

Arduinoで入力された文字列から文字列と数値を取り出すプログラムを書いていますがうまく動きません。

[code]

    char mode[6]="";
    double a,b,c;
    //str="PID 1.4 2.4 3.4"
    sscanf(str,"%s%lf%lf%lf",mode,&a,&b,&c);
    //sscanf(str,"%s %lf %lf %lf",mode,&a,&b,&c);でも試しました
    
[/code]

としているのですが、modeだけ正常に読み込まれ、a,b,cは0.00になってしまいます。  
色々試しているのですがうまく行きません。どのように修正すれば正しく動かせるでしょうか。


CC BY-SA 3.0
2016-04-30T07:10:29.080
24470
2016-04-30T07:46:16.120
15337
question
c arduino
sscanfでの複数の変数の読み込み


調べたところ答えが見つかり、正常に動かすことができたので回答とさせてもらいます。  
ArduinoのC++には%fの変換指定子がないため、scanfなどで%fを利用することはできないということだったようです。  
解決方法はdouble型として読み込みたい変数を別の変数を使って文字列として読み込んだ上でatofを使ってdouble型に変換するという手法でうまくいきました。


CC BY-SA 3.0
2016-04-30T07:46:16.120
24472
2016-04-30T07:46:16.120
15337
24470
answer