Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
10 years, 5 months ago.
使い方
秋月の8PINモジュールを使用しています。 お作りになられたライブラリの呼び出し例を教えて頂けませんでしょうか? C言語系は不得手で、mbedも触り始めたばかりです。 引き渡す構造体の宣言方法と、引き渡し方をご教示いただけると有難く。 よろしくお願いします。
Question relating to:
2 Answers
10 years, 4 months ago.
ライブラリを見つけていただいてありがとうございます。
そのクラスは以下のように使うことを想定していました。(ドキュメント無しで申し訳ありません…&クラス作成時のコードなので動作確認はしていません…)
ヘッダーファイル内にanglerratesという構造体のtypedefがありますのでそちらのポインタを渡していただければ動作すると思います。
L3GD20 gyro sensor Class Usage
#include "mbed.h" #include "L3GD20.h" Serial pc ( USBTX,USBRX ) ;//tx,rx L3GD20 L3GD20 ( p11,p12,p13,p14 ) ;//miso,mosi,sck,cs int main ( ) { anglerrates val; L3GD20.start ( L3GD20::XYZ ) ; L3GD20.enableFIFO ( L3GD20::STREAMmode,L3GD20::watermark,20 ) ; int counter=0; while ( 1 ) { L3GD20.updateFIFO ( ) ; counter++; if ( L3GD20.FIFO.status==L3GD20::watermark ) { pc.printf ( "counter:%d\r",counter ) ; counter=0; while ( L3GD20._status.FIFO_SRC_REG.B.FSS!=0 ) { L3GD20.read ( &val, L3GD20::XYZ ) ; L3GD20.updateFIFO ( ) ; printf ( "\nX:%+0d Y:%+0d Z:%+0d\r\n", ( val.X ) , ( val.Y ) , ( val.Z ) ) ; } } } }
ひとこと
- int型のcounterは処理にどの程度余裕があるか参考程度に知るためのものです。
- FIFOモードによってはバッファーが32個たまると更新されなくなるのでモード切り替えが必要だった気がします。(詳細はデータシートにて)
- C++のクラス練習用に初めて作ったものなのであまり参考にしないでください…
加えて(現在は全く更新していませんが)ライブラリは所属するグループに移しています。 ※SPIとL3GD20のINTピンを利用することを目標にしています。(一応動作はしますが未完です。)
Import libraryL3GD20_SPI
L3GD20 Library using FIFO and Interrupt
8 years, 4 months ago.
こんにちは. ライブラリをインポートさせて頂き,STM32F303上で実装致しました. ありがとうございます.
私の場合,MOSI MISOが逆でした. 実際に動いたときのコードでは <code> L3GD20 L3GD20 ( SPI_MOSI,SPI_MISO,SPI_SCK,SPI_CS ) ;mosi,miso,sck,cs </code> でした. 念のため,ご報告させていただきます.
ありがとうございました.