このライブラリーはテストに作ったものです。近いうちに他の関数を加えた形でアップデートするつもりです。 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:
- 8:ed3bb603fe71
- Parent:
- 7:7bacf1cef92f
- Child:
- 9:2989e90f78fe
diff -r 7bacf1cef92f -r ed3bb603fe71 l3gd20.h --- a/l3gd20.h Thu Sep 29 08:49:41 2016 +0000 +++ b/l3gd20.h Thu Sep 29 08:53:42 2016 +0000 @@ -35,8 +35,7 @@ #define Y 2 #define Z 4 -/** This progrum is to be easy to control L3GD20 sensor - * +/** This progrum is to be easy to control L3GD20 sensor\n * site http://akizukidenshi.com/catalog/g/gK-06779/ */ class l3gd20{ @@ -48,18 +47,26 @@ public: /** constracta * - * use default parm, set to mosi,miso,sck,cs:PB_15-PB_14\n - * SPI frequency:1000000 + * use default parm, mosi,miso,sck,cs is set to PB_15-PB_12\n + * SPI frequency:1000000\n * SPI mode:3 */ l3gd20(); /** constracta - * only set frequency parm, set to mosi,miso,sck,cs:PB_15-PB_14 + * only set frequency parm\n + * mosi,miso,sck,cs is set to PB_15-PB_12\n * SPI mode:3 * @param fhz SPI frequency */ l3gd20(int fhz); + + /** constracta + * mosi,miso,sck is set to PB_15-PB_13\n + * SPI mode:3 + * @parm cs SPI's cs pin + * @param fhz SPI frequency + */ l3gd20(PinName cs,int fhz); l3gd20(PinName miso,PinName mosi,PinName sck,PinName cs,int fhz,int mode = 3); int reg_reset();