L3GD20 ダウンロード、サンプルコード

(2014.9.9 作成)

ライブラリダウンロード

 以下よりライブラリをダウンロードしていただけます。STM32F3Discovery基板での動作は確認していますが、Arduinoを含む他のマイコンでの確認は行っていません。Arduinoでは残念ながら動きませんでした。ご興味のある方はこちらをご覧ください。残念です。。。

DKS_L3GD20.zip
zip ( 圧縮 ) ファイル 2.4 KB

サンプルプログラム

 STM32F3Discovery基板で動作したサンプルコードです。

測定結果のGryoDataとtemperatureはSTMStudioで動作確認を行うため、グローバル関数としています。

 asm("NOP")は"何もしない"という意味です。10000数えるまでウエイトを入れたいのですが、for分だけだとコンパイル時に最適化で消去されることがあるためその対策です。

/*
Copyright (c) 2014 DenshiKousakuSenka
 This software is released under the MIT License.
 http://opensource.org/licenses/mit-license.php
 */

#include "DKS_SPI_Discovery_F3.h"
#include "DKS_GPIO_Discovery_F3.h"
#include "DKS_L3GD20.h"

extern "C"
{

float GryoData[3];
int8_t temperature;

int main(void)
{
        DKS::DigitalOut ss(GPIOE, GPIO_Pin_3);
        DKS::SPI::SPI spi(SPI1,0,0,0);  //SCK=PA5, MISO=PA6, MOSI=PA7
        DKS::L3GD20::L3GD20 l3gd20(&spi, &ss);
        uint16_t i;
    while(1)
    {
        l3gd20.ReadMagData(GryoData);
        l3gd20.ReadTemperature(temperature);
        for (i=10000; i>0; i--) asm("NOP");
    }
}

}