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

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

# main.cpp

説明を見る。

    00001 /** \mainpage
    00002 *
    00003 * このプログラムは、ADSP-BF537を搭載する評価基板、EZ-KIT BF537のデモ・プログラムである。
    00004 * 外部のボリュームより値を読み込み、その値を元にオーディオデータにフランジャー効果を施す。
    00005 *
    00006 * ::main 関数を実行すると、各種の初期化を行い、割り込みハンドラ afw::ISRを登録した後、
    00007 * 割り込みとDMAを許可してオーディオ信号の送受信を行う。オーディオ信号はSPORT0経由で入力
    00008 * し、DMAによってメモリ上に格納される。2次元DMAの各行が終わるたびにオーディオ信号受信割り込み
    00009 * が発生し、 afw::ISRが呼び出される。
    00010 *
    00011 * afw::ISRは割り込みをクリアし、トリプルバッファの制御を行う。そしてしかるべきデータを
    00012 * DMAの受信バッファから取り出すと、使いやすいよう並べなおしてユーザー定義のコールバック関数
    00013 * afw::processDataを呼び出す。
    00014 *
    00015 * afw::processDataでは ad7998::getValue()関数によって、ADコンバーターAD7998より
    00016 * 値を読み込む。遅延を制御する制限派の振幅と周波数である。
    00017 *
    00018 * EZ-KIT Lite BF-537のディップスイッチの設定は以下のとおり
    00019    - SW1 : すべてOFF
    00020    - SW7 : すべてON
    00021    - SW8 : 1-2をON、残りはすべてOFF
    00022 */
    00023
    00024 /** \file main.cpp
    00025  *  \brief メイン関数定義ファイル
    00026  *  \author アナログ・デバイセズ株式会社
    00027  *
    00028  * このプログラムはVisualDSP++ 4.5のサンプル・アプリケーション、TalkTrhoughから
    00029  * 派生させたものである。EZ-KIT BF537のリソースを初期化し、48Ksample/Sのオーディオ
    00030  * フレームワークを起動する。受信データはコールバック関数 afw::processData によって
    00031  * 処理される。
    00032  */
    00033
    00034
    00035 #include <ccblkfn.h>
    00036
    00037 #include "afw.h"
    00038 #include "cec.h"
    00039 #include "twi.h"
    00040 #include "ad7998.h"
    00041 #include "utilbf537.h"
    00042
    00043
    00044 /** メイン関数
    00045    *
    00046    * 各ペリフェラルを初期化後、割り込み待ちに入る。
    00047    */
    00048 void main(void)
    00049 {
    00050     utilbf537::initPLL();   // PLLを設定する
    00051
    00052                     // 各ライブラリの初期化
    00053     cec::init();            // コア・イベント
    00054     twi::init(120);         // TWIペリフェラル
    00055     ad7998::init();         // ad7998
    00056     afw::init();            // オーディオ・フレームワーク
    00057
    00058                     // 各作業の処理開始
    00059     cec::start();           // コア・イベント
    00060     twi::start();           // TWI
    00061     ad7998::start();        // AD7998
    00062     afw::start();           // オーディオ処理
    00063
    00064     while(1)
    00065         idle();             // 割込み待ち
    00066 }
    00067
    00068
    00069
    00070