ANT

PIC24F用ライブラリ

Microchip Technology社の 16bit マイコン PIC24FJシリーズ用ライブラリのサンプルコードです。 ソースコードは PIC24FJ64GA002で コンパイル、実行させています。
このページにあるライブラリは α版です。このコードは無保証です。また、バグが残っている可能性があります。

このサンプルでは、使用するCPUに応じて、インクルードするヘッダファイルを変更してください。
サンプルは 下記の4つのファイルで構成されています。

  • ant.h fileant.h
    • ANTチップに対する API関数等を定義したヘッダファイルです
  • ant.c fileant.c
    • ANTチップに対する API関数の実行コード部です。実行には、uart.c で定義されている UART1 に対する関数が必要です
  • uart.h fileuart.h
    • UARTに対する API等を定義したヘッダファイルです
  • uart.c fileuart.c
    • UARTに対する API関数の実行コード部です

ant.c では ANTチップへ UARTを通じてコマンドやリザルトを送受信するために uart.c に書かれた uart1に対する関数を呼び出しています。 そのため、このサンプルでは、uart.c および uart.h も必要になります。
uart.c では、送信はポーリングでアクセスしていますが、 受信では 割込み駆動にて受信していますので、割り込みを使用します。
UARTのRX, TXは リマップ可能なピンに割り当てて使用します。 uart.c にピンアサインを記述したパートがあります。実際の回路に合わせて リマップピンのアサインを変更して使用してください。
ANTモジュールの RTSは、サンプルでは RA3に割り当てて、ソフトウェアでポーリングしています。ハードウェアフローは使用していません。実際の回路に合わせて変更してください。

使用例

 #include <ant.h>
 #include <uart.h>

 #define   DEVICE_NUMBER   31
 #define   MAX_BUFSIZE     32

 #define   ANT_CH          0

 unsigned  char buffer[MAX_BUFSIZE];

 void OpenANT() {
 //  0ch に通信パラメータを設定して、チャンネルをオープンする関数 

	ANT_ResetSystem();                                         // ANT デバイスをリセットする

	ANT_AssignChannel( ANT_CH, ANT_Bidirectional_Slave, 0) ;   // 受信用チャンネルとしてアサインする
	ANT_SetChannelId( ANT_CH,  DEVICE_NUMBER, 1, 1 );          // デバイス番号等のIDをセットする

	ANT_SetChannelPeriod_Hz( ANT_CH, 4 );                      // チャンネルピリオド 4Hzに設定 (デフォルトと同じなので省略可能)
	ANT_SetChannelRFFreq( ANT_CH, 4 );                         // 送受信する周波数を 2404MHz に設定する

	ANT_OpenChannel( ANT_CH );                                 // チャンネルを開いて通信を開始する

       return;
 }
 
 void main () {
 
   int s;
  
 //  ハードウェアの初期化コードを挿入してください
 //    各ポートの入出力モードや オープンドレインの有無など...
 //
 
    uart_init( 38400, 0 );            // UARTレジスタの初期化
                                      // 注) ANTモジュールと 38400bpsで通信するには チップ抵抗の実装が必要です
    OpenANT();

    while(1) {
        if ( s = BC_ANT_RecvPacket( buffer, MAX_BUFSIZE )) {
            // ANTチップからのデータ受信時の処理...
            // パケットを受信したときや ANTチップからのイベントの処理を記述します
        }
    }

 }

添付ファイル: fileuart.c 1734件 [詳細] fileuart.h 748件 [詳細] fileant.c 822件 [詳細] fileant.h 740件 [詳細]

BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS
Last-modified: 2012-11-28 (水) 21:20:09 (1839d)