ANT

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

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

ant.c では ANTチップへ UARTを通じてコマンドやリザルトを送受信するために uart.c に書かれた uart1に対する関数を呼び出しています。 そのため、このサンプルでは、uart.c および uart.h も必要になります。
uart.c では、送信はポーリングでアクセスしていますが、 受信では 割込み駆動にて受信していますので、割り込みを使用します。

使用例;

 #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;
    OpenANT();

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

 }

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