[H8-ML(4327)] Re:Message for h8
From: 石山 峰之 <m_ishi8@xxxxxxxxxxx>
Date: 2004年01月20日(火)16時39分46秒
> CPU側の割り込みを許可するタイミングは、割り込み要因と
なるペリフェラル側のレジスタ設定を全て完了していること、
割り込み 処理に必要な変数や配列などが確保され、必要なら
その初期化 が終わっていることが、最低限必要になります。

今回、これを踏まえてCのプログラム内でCCRの設定をしました
。このためにmachine.hを追加しました。すみませんが、また
プログラムを掲載します。

 #include <3048f.h>
#include <machine.h>

#pragma interrupt(intimia1)
extern unsigned int cnt0;                        /* 信号
のHighの時間を記憶 */

void main(void)
{
    cnt0  = 0;                /* cnt0初期化 */
    PA.DDR = 0x00;            /* Port-Aは入力設定 */
    PB.DDR = 0xff;          /* Port-B BIT0は出力設定 */
    
    ITU.TSTR.BYTE = 0x00;      /* ひとまず全タイマー停止
*/
    ITU.TSNC.BYTE = 0x00;      /* 全タイマーは独立動作 */
    ITU.TMDR.BYTE = 0x00;      /* ITUはすべて通常動作 */ 
    ITU.TFCR.BYTE = 0x00;      /*
ITU3,4およびGRA3,4,GRB3,4
は通常動作 */
    ITU.TOER.BYTE = 0x00;      /* ITU3,4による端子出力は
禁止 */
    ITU.TOCR.BYTE = 0xff;      /* 外部トリガ禁止 */
    ITU1.TCR.BYTE = 0x83;      /*
クロックの1/8で動作。TCNT
のクリア禁止 */
    ITU1.TIOR.BYTE = 0xdf;     /* 両エッジでGRAへインフ
゜ットキャプチャ */
    ITU1.TIER.BYTE = 0x03;     /* IMFA,IMFBによる割り込
み許可 OVIE禁止 */
    ITU1.TSR.BYTE = 0x00;      /* 全割り込みフラグクリア
*/
    ITU1.TCNT = 0x00;          /* カウントクリア */
    ITU1.GRA = 0;              /* GRA初期値設定 */
    
    set_imask_ccr(0);          /* 割り込みマスクビットを
クリアします。*/

    ITU.TSTR.BIT.STR1 = 1;     /* ITU1スタート */
    
    while(1){                                    
                  PB.DR.BYTE=PA.DR.BYTE;            
                                
            }                                             
                
}                                                         
                           
void intimia1(void){                                      
                ifPA.DR.BIT.B4) 
{        /* 立ち上がりエッジの場合 */
                 ITU1.TCNT = 0x00;
                }           /* カウントをクリア */
  else{                  /* 立ち下がりエッジの場合 */
       cnt0 = ITU1.GRA;     /* 値をcnt0に記憶 */
      }                                                   
    ITU1.TSR.BIT.IMFA=0;    /* 
割り込みフラグ解除 */
}

CCR設定の記述場所は、これでいいと思ったのですが。
 もう一つ質問です。馬鹿なことを聞くようですが、インプッ
トキャプチャを使った場合、シンクロスコープでADXLの波形を
確認するとしたらどんな形の波形が表示され、また、どうやっ
てパルス幅を変えることができますか? 


__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!
http://bb.yahoo.co.jp/

スレッド概略
[4293(R)](起点)
 └[4321(U)]
   └[表示中]
     └[4328(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]