[H8-ML(2738)] ■SCI3でのクロック同期8ビット受信*2で16ビット(マスター)について
From: tsuchida.seiji@xxxxxxxxxxx
Date: 2003年01月21日(火)18時57分12秒

つちだです。
クロック同期16ビット受信(マスター:クロック出力)をやっているのですが下記ソ
      ースでやると2回(8ビット*2)受信だけなのに
 (n2douki_counter < 2)
クロックの波形を見るとクロックが24発(24ビット分)出ています。
なにが駄目なのでしょうか?
お助けください!

環境:H8/3664、HEW
unsigned long SCI_IN ( void) {
    unsigned char    *n2douki_ptr;
    SCI3.SSR.BIT.OER = 0;     /* 受信オーバーランクリア0 * Clear OER
*/
    SCI3.SSR.BIT.FER = 0;     /* フレーミングクリア  0 * Clear FER
*/
    SCI3.SSR.BIT.PER = 0;     /* パリティエラークリア 0 * Clear PER
                                    */
    SCI3.SMR.BIT.COM = 1;     /* クロック同期1      * Initialize
Communication Mode                */
    SCI3.SMR.BIT.MP = 0; /* クロック同期0      * Initialize Multiprocesor
 Mode                */
    SCI3.SMR.BIT.CKS = 0;  /* クロック1/1      * Initialize Clock
Select 1 φ/64              */
    SCI3.SMR.BIT.CKS = 0;  /* Initialize Clock Select 0 φ/64              */
    SCI3.SCR3.BIT.CKE = 0;              /* 内部クロック出力     *
Initialize Clock Enable 1                    */
    SCI3.SCR3.BIT.CKE = 0;              /* Initialize Clock Enable 0
                    */
    SCI3.BRR = 1;                             /* ビットレートレジスタ   *
Initialize Clock Enable 1                    */
    SCI3.SSR.BIT.TDRE = 0;              /* 送信データを無しにする  * Clear
TDRE                                   */
    SCI3.SSR.BIT.RDRF = 0;              /* 受信データを無しにする  * Clear
RDRE       */
    SCI3.SCR3.BIT.RE = 0;               /* 受信禁止0 Clear RE
               */

    SCI3.SSR.BIT.RDRF = 0;                                  /* 受信データを無し
にする * Clear RDRF                                */
    n2douki_ptr = &N2DOUKI_SRD[0];                          /* Initialize Serial
 Receiving Data Addreass */
    N2DOUKI_SRD[0] = 0x00;                                   /* Initialize
Serial Receiving Data 0        */
    N2DOUKI_SRD[1] = 0x00;                                  /* Initialize Serial
 Receiving Data 1        */
    N2DOUKI_SRD[2] = 0x00;                                  /* Initialize Serial
 Receiving Data 2        */
    N2DOUKI_SRD[3] = 0x00;                                  /* Initialize Serial
 Receiving Data 3        */

     IO.PDR8.BIT.B0 = 0;      //CS
    n2douki_counter = 0;                                    /* Clear counter
                             */
    while (n2douki_counter < 1){                            /* Serial Receiving
Data Counter 4 Loop      */
         SCI3.SCR3.BIT.RE = 1;                                   /* 受信許可1
Start Serial Receiving                    */
        while(SCI3.SSR.BIT.RDRF == 0){                      /* RDRに受信デ
ータが格納なら1 RDRF = 1 ?                                */
            ;
        }
        if (SCI3.SSR.BIT.OER == 1){                         /* オーバーランなら
1 Overrun Erorr Flag = 1 ?                  */
               IO.PDR8.BIT.B0 = 1;       //CS
            N2DOUKI_SRD[0] = 0xFF;                          /* Overrun Erorr 0
                           */
            N2DOUKI_SRD[1] = 0xFF;                          /* Overrun Erorr 1
                           */
            //break;
        }
        else    {
            *n2douki_ptr = SCI3.RDR;                        /* 受信データ格納
Save Serial Receiving Data                */
          SCI3.SSR.BIT.RDRF = 0;
          SCI3.SCR3.BIT.RE = 0;                    /* 受信許可1 Start Serial
Receiving                    */
          SCI3.SSR.BIT.RDRF = 0;              /* 受信データを無しにする  *
Clear RDRE       */
            n2douki_ptr++;                                  /* Increment Serial
Receiving Data Address   */
            n2douki_counter++;                              /* Increment counter
                         */
        }
    }

    SCI3.SCR3.BIT.RE = 0;                                   /* 受信禁止0 Clear
 RE                                */
     IO.PDR8.BIT.B0 = 1;      //CS
return(N2DOUKI_SRD[0] * 0x100 + N2DOUKI_SRD[1]);
}

//+-----------------------------------------------------------------+
//| 〒302−8501 茨城県取手市白山7−5−1
//| キヤノン(株)取手周辺機器工場 LBP生産技術3課 土田誠司
//| 荷物発送先:LBP製造課B8棟止め_B8棟前プレハブ
//| Canon.INC ToridePeripheralsPlant LBP ProductionEngineeringDept3
//|  tsuchida.seiji@xxxxxxxxxxx
//|  PHS:0297-77-2496 FAX:72-4217 IN.Plant:621-21365
//+-----------------------------------------------------------------+


スレッド概略
[表示中](起点)
 └[2740(1)]


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


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