- 締切済み
PIC C Liteを使い加速度センサの値を読む
始めまして。 最近PICの勉強を始めました。 ADWINのキットを買い、後閑さんの本を読んでいる最中ですが、質門があります。 【Kionix社の加速度センサ「KXP84-2050」を使い、その値を取り込むにはどうすればいいのでしょうか。】 学生時代にC言語を少し触っており簡単な気持ちで始めたら、大変なことになりました。 PC内部だけでプログラムするのとは分けが違い、途方に暮れています。 どうか、皆様のお力をお借りしたいです。 以下、質問の詳細です。 1.X軸の信号値を8個のLEDで8bitデータに見立てて表示しようと考えています。 センサを傾けると、 秋月電子でセンサーのモジュールを買いました。 私の理解では ・あるポートのレジスタ(ここではRB0とします)をまずは入力ポートにする ・センサーからの値を代入する ・その値をLEDに出力する です。 ここで、センサーの仕様書にはレジスタネーム「XOUT_H」のアドレスは0x00であり、これはMSBで送られてくる。(8bitデータ)I2Cでのデータ送受信時 センサ側のデータをどう受信して、値を格納すればいいのでしょうか? センサ側のアドレスを指定する? などがADWINの入門書ではまったく無いので・・・ PIC側とセンサー側のやり取りが分からず困っています。 シリアルでデータがくるので、8bitデータをもらうのには8回ループをまわして、別に定義した変数にセンサデータを入れればいいのでしょうか? センサーとPICを繋ぐ線は1つですので、シリアルデータの扱い方がわかりません。 PIC側で、 char X_data[8]のような配列を定義し を定義し、 そこに X_data[i]=XOUT_H[i]そして出力でしょうか? 私なりに、ネットも調べたのですが分からずじまいでした。 よろしくお願いします。 乱文申し訳ございません。
- みんなの回答 (4)
- 専門家の回答
お礼
kaoaru様: ご回答ありがとうございます。 お礼を述べるのが遅くなり、大変失礼しました。 共用体は使ったことがありませんが、一応知っています。 構造体のよりフレキシブルに変数の型式を決めれる くらいの知識ですが。 仰る通り、bit演算のプログラムはした事がなく、もっと勉強します。 上位のマイコンというのはPIC18シリーズなどのことですか? ARMマイコン等の方が今後の発展も考えるといいということでしょうか? 質問ばかりで申し訳ございません。 kaoaru様のサイトも拝見させて頂き、勉強します。今日にCQ出版の「マイコンの1線2線3線インターフェース活用入門」なる本も届きましたので、勉強いたします。 次回質問するときは、もっと具体的な質問ができるように、勉強いたします。