This is Tyou. Please refer to : http://www.hitachi-eu.com/hel/ecg/products/micro/pdf/app10410.pdf And The SCI3 operation code could also be found at : http://www.i-da.co.jp/~tyou/embd/uCOS3664.rar Good Luck ----- Original Message ----- From: <tsuchida.seiji@xxxxxxxxxxx> To: <h8@xxxxxxx> Sent: Tuesday, January 21, 2003 6:57 PM Subject: [H8-ML(2738)] ■SCI3でのクロック同期8ビット受信*2で16ビッ ト(マスター)について > > つちだです。 > クロック同期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 > //+-----------------------------------------------------------------+ >