このライブラリーはテストに作ったものです。近いうちに他の関数を加えた形でアップデートするつもりです。 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

Revision:
10:423afed6d24a
Parent:
9:2989e90f78fe
Child:
11:11177c8a7915
--- a/l3gd20.h	Thu Sep 29 08:56:21 2016 +0000
+++ b/l3gd20.h	Thu Sep 29 09:17:05 2016 +0000
@@ -48,12 +48,13 @@
     /** constracta
      * 
      * use default parm, mosi,miso,sck,cs is set to PB_15-PB_12\n
-     * SPI frequency:1000000\n
+     * SPI frequency:1Mhz\n
      * SPI mode:3
      */
     l3gd20();
     
     /** constracta
+     *
      * only set frequency parm\n
      * mosi,miso,sck,cs is set to PB_15-PB_12\n
      * SPI mode:3
@@ -62,13 +63,30 @@
     l3gd20(int fhz);
     
     /** constracta
+     *
      * mosi,miso,sck is set to PB_15-PB_13\n
      * SPI mode:3
      * @param cs SPI's cs pin
      * @param fhz SPI frequency
      */
     l3gd20(PinName cs,int fhz);
+    
+    /** constracta
+     *
+     * set all param, you can ellipsis SPI's mode
+     * @param miso SPI's miso pin
+     * @param mosi SPI's mosi pin
+     * @param sck SPI's sck pin
+     * @param cs SPI's cs pin
+     * @param fhz SPI frequency
+     * @param mode SPI's mode (default = 3)
+     */
     l3gd20(PinName miso,PinName mosi,PinName sck,PinName cs,int fhz,int mode = 3);
+    
+    /** function
+     *
+     * reset all register
+     */
     int reg_reset();
     int conect();
     uint8_t read_8(uint8_t reg);