ANT

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

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

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チップからのイベントの処理を記述します
        }
    }

 }

BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   新規 一覧 単語検索 最終更新   最終更新のRSS