GR-SAKURA
GR-KURUMI
GR-COTTON
GR-CITRUS
GR-PEACH
GR-KAEDE
GR-ADZUKI
GR-LYCHEE
GR-ROSE
GR-MANGO(*)
SNShield
Web Compiler
IDE for GR
TOPPERS関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
ボードはなんですかね?
とりあえず、GR-ROSEで以下のコードを実行すると、
void setup() { // put your setup code here, to run once: Serial.begin(9600);}void loop() { // put your main code here, to run repeatedly: Serial.println(pow(2, 15)); delay(100);}
以下のように表示されます。
32768.0032768.0032768.0032768.0032768.0032768.0032768.00
まだ、真の原因は分かっていませんが、pow自体はmathライブラリをコールして2^15=32768が得られているようです。
IDE for GRでmapファイルを出力した場合もlibc.a(lib_a-mprec.o)から、powをリンクしており、正しく動作するe2studioのプロジェクトと同様でした。
ここまでで大分時間がかかってしまったのですが、「Serial.printlnで表示する際におかしくなるのでは?」という仮説のもと、Serial.printで小数点を表示しようとすると、実際に動作がおかしくなりました。例えばSerial.println(3.2);とかだけでもおかしな値が表示されます。
この不具合はIDE for GR V1.10では発生せず、V1.11で発生いたしますので、改善するまでは恐れ入りますがV1.10をお使いいただいてもよろしいでしょうか。
がじぇるね岡宮です。
本件、原因が分かりました。次のIDE for GR V1.12で修正いたします。
原因としては、スケッチのコンパイル時に「-m64bit-doubles」が指定されていたためでした。GR-ROSE(RX65N)でRXマイコンのSDKを見直した際に、間違って追加しておりました。ご不便をおかけして申し訳ありません。
以下のファイルに記載されている-m64bit-doublesを削除していただければ、正常に動作するようになります。
Windowsの場合 ide4gr-1.12-windows\ide4gr-1.12\hardware\arduino\rx63\platform.txt