このライブラリーはテストに作ったものです。近いうちに他の関数を加えた形でアップデートするつもりです。 read_8(int reg)、read_16(int reg) で レジスターregの値を8bit、16bitで読み込み、そのまま返します。受け取り側の変数をint8_t、int16_t で定義すれば正負に分かれた値を得られます。 write_8(int reg,int data)、write_16(int reg,int data)で レジスターregに8bit、16bit 書き込み、成功したら0、失敗したら1を返します。確認はread_8、read_16を用いています。 conect() でデバイスが使用可能かを調べ、見つかれば0、なければ1を返します。 reg_reset() で全てのレジスタの値を0にします。成功したら0、失敗したらその時点で処理を停止し、失敗したレジスタを返します。 レジスタは公式のデータシートに書いてあるものと文字は同じです。 もしかしたらうまく行かない関数があるかもしれません。次のアプデのときに修正予定です。
Dependents: Nucleo_L3GD20_MMA7361_Kalman
Diff: l3gd20.h
- Revision:
- 11:11177c8a7915
- Parent:
- 10:423afed6d24a
- Child:
- 12:438175c58b44
diff -r 423afed6d24a -r 11177c8a7915 l3gd20.h --- a/l3gd20.h Thu Sep 29 09:17:05 2016 +0000 +++ b/l3gd20.h Fri Sep 30 04:00:39 2016 +0000 @@ -86,8 +86,15 @@ /** function * * reset all register + * @return register number which return error */ int reg_reset(); + + /** function + * + * send WHO_AM_I and return result + * @return 1:error 0:no error + */ int conect(); uint8_t read_8(uint8_t reg); uint16_t read_16(uint8_t reg);