- メインページ
- ネームスペース
- クラス
- ファイル

- ファイル一覧
- ファイルメンバ

# twi.h

説明を見る。

    00001 #pragma once
    00002 /** \file twi.h
    00003  *  \brief TWIヘッダーファイル
    00004  *
    00005  * このファイルはADSP-BF537のTWI用ドライバのヘッダファイルである。
    00006  *
    00007  * 注意: Analog Devices Incおよびアナログ・デバイセズ株式会社は、
    00008  * このプログラムの利用によって生じるいかなる問題にも責任を負わ
    00009  * ない。
    00010  */
    00011
    00012 /** twiネームスペース
    00013  *
    00014  * TWI関連の資源を格納する名前空間。
    00015  */
    00016 namespace twi{
    00017
    00018 /** TWI初期化関数
    00019  * @param sclkMHz ADSP-BF537のSCLK周波数をMHz単位で指定する。133MHzのときには、133を指定する。
    00020  *
    00021  * この関数は、ADSP-BF537の内蔵TWIを初期化する。最初にsclkパラメータを
    00022  * 元にプリスケーラーを設定する。次にデバイダを設定して、TWIのビット
    00023  * クロックを10kHzにする。
    00024  *
    00025  * TWIはマスターに設定する。割込みは、データ送受信のほか、送受信完了(MCOMP)割込みも
    00026  * 許可する。
    00027  */
    00028
    00029     void init( unsigned int sclkMHz );
    00030 /** TWIスタート関数
    00031  *
    00032  * この関数はダミー
    00033  */
    00034    void start( void );
    00035 /** 割込みハンドラ
    00036  * @return 割込みがTWI由来のものであった場合には真を、そうでない場合には偽を返す。
    00037  *
    00038  * TWIに関連する割り込みをすべて処理する。、
    00039  */
    00040     bool ISR( void );
    00041
    00042 /** TWIデバイスへの非同期書きこみ
    00043  * @param address 書き込みを行うデバイスの7bit TWIアドレス。
    00044  * @param data 書き込むデータの配列
    00045  * @param count 書きこみデータ数。単位はバイト。
    00046  * @param callback 送信完了割り込み時に呼び出されるコールバック関数。NULLを指定すると何も呼び出されない。
    00047  *
    00048  * 指定されたデバイスへの書き込みを行う。この関数は、デバイスへの書き込みを
    00049  * 内蔵TWIに指示すると、直ちに呼び出し元に戻る。デバイスへの書きこみが完了すると
    00050  * パラメータで指定したcallback関数が呼び出される。callback関数が呼ばれるまで、
    00051  * 呼び出し側はdata[]の内容を変更してはならない。
    00052  */
    00053
    00054     void writeAsync(
    00055                 unsigned char address,
    00056                 const unsigned char data[],
    00057                 unsigned int count,
    00058                 void ( * callback )( bool )
    00059                 );
    00060
    00061 /** TWIデバイスからの非同期書読み込み
    00062  * @param address 読み込みを行うデバイスの7bit TWIアドレス。
    00063  * @param data 読み込むデータの受信バッファ
    00064  * @param count 読み込むデータ数。単位はバイト。
    00065  * @param callback 受信完了割り込み時に呼び出されるコールバック関数。NULLを指定すると何も呼び出されない。
    00066  *
    00067  * 指定されたデバイスからの読み込みを行う。この関数は、デバイスへの読み込みを
    00068  * 内蔵TWIに指示すると、直ちに呼び出し元に戻る。デバイスへの読みこみが完了すると
    00069  * パラメータで指定したcallback関数が呼び出される。callback関数が呼ばれるまで、
    00070  * 呼び出し側はdata[]の内容を読み出してはならない。
    00071  */
    00072     void readAsync(
    00073                 unsigned char address,
    00074                 unsigned char data[],
    00075                 unsigned int count,
    00076                 void ( * callback )( bool )
    00077                 );
    00078
    00079 /** TWIデバイスへの非同期書き込み/読み込み
    00080  * @param wAddress 書き込みを行うデバイスの7bit TWIアドレス。
    00081  * @param wData 書き込むデータの配列
    00082  * @param wCount 書きこみデータ数。単位はバイト。
    00083  * @param rAddress 読み込みを行うデバイスの7bit TWIアドレス。
    00084  * @param rData 読み込むデータの受信バッファ
    00085  * @param rCount 読み込むデータ数。単位はバイト。
    00086  * @param callback 送信完了割り込み時に呼び出されるコールバック関数。NULLを指定すると何も呼び出されない。
    00087  *
    00088  * 指定されたデバイスへの書き込みを行う。この関数は、デバイスへの書き込みを
    00089  * 内蔵TWIに指示すると、直ちに呼び出し元に戻る。デバイスへの書きこみが完了すると
    00090  * ただちに読み出しを行う。読み出しが終了したら。
    00091  * パラメータで指定したcallback関数が呼び出される。callback関数が呼ばれるまで、
    00092  * 呼び出し側はdata[]の内容を変更してはならない。
    00093  */
    00094     void writeReadAsync(
    00095                 unsigned char wAddress,
    00096                 const unsigned char wData[],
    00097                 unsigned int wCount,
    00098                 unsigned char rAddress,
    00099                 const unsigned char rData[],
    00100                 unsigned int rCount,
    00101                 void ( * callback )( bool )
    00102                 );
    00103
    00104 };
    00105
    00106