ボッシュさんのBMP180 気圧センサで気温のデーターを取得しようとしているのですが、うまくいきません。ご指導お願いします。個人的には下のコードで、パソコンの方でなにか数字がでると思っているのですが、000でした。抵抗値か転送クロックに問題があるように思っています。よろしくお願いいたします。
環境e2 studio Version:5.3.1.002 評価期間の有効期限が切れています。RL78/G10+E2 Lite
周辺機能の設定の転送クロックは100000です。
抵抗は5kΩ位です。
/* Start user code for global. Do not edit comment generated here */char buf[256]="";char data[10]="";unsigned long millisec;void sleep(long i_end_millisecond);void uart(void);/* End user code. Do not edit comment generated here */
RL78G10_IICA0.zip
チョコです。
サンプルプログラム等の「IICマスタ(RL78/G13版)改」はコード生成を初期化だけに使用し,I2Cの実際の処理部はライブラリとしてr_iic_lib.c(及びr_iic_lib.h)として独立させています。これをRL78/G10に書き換えてみました。
変更点:
・割り込みベクタを定義しているpragma指令からレジスタ・バンクを削除
・IIC_TM03_init関数のTMR03レジスタをTMR03Lに変更
これをr_cg_main.cの中で使ったg_IIC_put_data関数とg_IIC_get_data関数でレジスタを内蔵したスレーブ用のアクセス関数(スレーブ・アドレスとレジスタ・アドレスを指定した書き込み関数と読み出し関数)です。ついでに,16ビットのデータの読み出し関数まで作ってみました。余計な処理はできるだけ削除したり,変更しています。まだ,ワーニングは消えていませんが,エラーがなくなったのでアップしておきます。参考にしてください。
RL78G10_IICA0_rev2.zip
BMP180関係の定数の定義が間違えていた(入れ替わっていた)ところを修正し,温度を読み出す部分を関数にしてしまいました。
また,前回出ていたワーニングを消すために関数の引数の部分を変更しました。
BMP180のデータシートを見ると,計測した結果をEEPROMのデータを使って計算することで,0.1℃単位で温度が得られるとのことなので,温度計算に必要なパラメータをEEPROMから最初に読み出すようにしています。ただし,計算はやっていませんが。
動作確認はしていませんが,I2Cバスの制御はこんな感じです。一応これで試してみてください。
ご指導ありがとうございます。サンプルコードをe2-studioのインポートで読み込むとエラーがでました。
解決には時間がかかりそうです。
つくたろうさん、こんにちは。NoMaYです。チョコさんの手元ではCS+のプロジェクトをe2 studioにインポート出来たとのことですが、つくたろうさんの手元では結局出来なかったということになりますか?[メモ]今の私はBMP180について初心者なのでGoogle検索で見付けた頁へのリンクを色々貼らせて貰いました。BMP180BMP180製品ページ - BoschBMP180データシートPDF - Bosch使用例STM32L / Barometer (Bosch BMP180) on (GCC + OpenOCD) with PN2 - JH1PJL Homepage - 個人HPロジアナでの信号データありRL78/G13でBMP180 温度、圧力センサーの値を読む - RVF/RC45 blog - 個人BlogGNURL78で独自C++クラスを設計 (GitHubにて公開)Arduino Pro Mini+BMP180でI2Cを試す - hnw - Qiita個人投稿気圧センサーbmp180をテストする - A V R 試 用 記 (別館) - 個人HPRaspberry Pi + 温度センサーで部屋の温度を測る - Nyanchew's Digital Life - 個人BlogGoogle検索ボッシュ BMP180BMP180搭載モジュールはスイッチサイエンスや共立エレショップやaitendoで購入可能一世代前のBMP085搭載モジュールは秋月電子で購入可能
つくたろうさん、こんにちは。分かりました。CS+のプロジェクトをe2 studioへインポート出来ず(チョコさんの手元では出来たとのことなのでチョコさんも言っているようにインポートのやり方を間違えたということになりそうですね)、なので、ビルドも出来ず、試すことも出来なかった、というところですね。では、また暫く待って頂けますか? どうも、チョコさんの話しからすると、例えインポート出来てもビルド出来ないという問題(その問題はルネサス責任の問題かも)があるようですので、ちょっと私の方でひと晩ほど調べてみます。
つくたろうさんwrote: said:インポートはできませんでした。ただし、新しくプロジェクトを作ってマージはまだ試していません。[引用終]
つくたろうさん、すみません、遅くなりました。(文中の表記次第で投稿出来なくなる不思議な現象に遭遇して手間取ってしまいました。)チョコさんのCS+のプロジェクトをe2 studioのプロジェクトに変換したZIPファイルを作りました。以下の(1)の画面コピーのようにしてインポートしてみて貰えませんか? (本来、CS+のプロジェクトをe2 studioにインポートするには以下の(3)の画面コピーのようにしてインポートするものなのですが、今回のプロジェクトでは幾つか落とし穴があって、まずは私の方でプロジェクトを変換したものを添付することにしました。なお、落とし穴については、別スレッドにして後で投稿しようかと思っています。) (あと、出来ればつくたろうさんと同じV5.3.1.002のe2 studioでやりたかったのですが、V5.4.0が既にリリースされたせいなのか入手出来ませんでしたので、手元のV5.3.0.023でやりました。また、ビルド出来ることの確認も当方固有の事情でCC-RL V1.01でやっています。)RL78G10_IICA0_rev2_for_e2.zip補足: ソースファイルを<プロジェクトフォルダ>直下から<プロジェクトフォルダ/src>の下へ移動させています。理由: e2 studioのコード生成機能のソースファイル生成先フォルダが<プロジェクトフォルダ/src/cg_src>固定になっている為。(1) e2 studioのプロジェクトをアーカイブしたものをe2 studioにインポートする(2) インポート結果とビルド結果(但し当方固有の事情でCC-RL V1.01でビルドしています)(3) CS+のプロジェクト(アーカイブされたままでは駄目)をe2 studioにインポートするには[追記]つくたろうさんのところで画像が表示されないようなので、上の6枚の画像(pngファイル)だけを固めたZIPファイルも添付しておきます。(もうブラウザで見られるようになっていれば良いのですが、、、)RL78G10_IICA0_20170419_images.zip
つくたろうさんへ先ほどの投稿の一番下に画像(pngファイル)だけを固めたZIPファイルを添付しました。(もうブラウザで見られるようになっていれば良いのですが、、、)