音程を鳴らす

簡単なサンプルプログラム

int main()
{
    /* タイマWを使った周波数出力 */
    /* ポート8:P80〜P84はタイマWと兼用なので注意が必要 */
    TMRW  = 0x00;  /* カウンタ停止 */
    TCRW  = 0x80;  /* TCNTをコンペアマッチAでクリア */
    TIERW = 0;     /* タイマW割込みを使わない */
    TSRW  = 0;
    TIOR0 = 0x0B;  /* コンペアマッチAでFTIOAをトグル */

    /* PWM の繰り返し周期の設定 */
    GRA   = 1000;  /* PWM周期を1000クロック */

    /* カウンタ動作開始 */
    TMRW  = 0x80;

    /* P81 = FTIOA に周波数信号が出力される。*/

    while(1){
        SLEEP();   /* 他の処理を待つ */
        // 途中で周波数を変える時は、
        // TMRW = 0x00 ;
        // TCNT = 0 ;
        // GRA  = 新しい周期
        // TMRW = 0x80 ;
    }
    return 0 ;
}

Last modified: Wed May 26 10:59:32 JST 2004