--- Dragonfly <Dragonfly@xxxxxxxxx> からのメッセージ: > H8-2212は使用したことがないのですが、データブックを見 るとSCIは初期状態 > でモジュールストップモードなので、それを解除してやると いいのではないで > しょうか? Dragonflyさん早速のアドバイスありがとうございます。 確かにモジュールストップモードを解除していませんでした! SCI0,2について解除し動作させてみました.... なぜか結果は以前と同じく正常動作しませんでした。 また何か気づきましたらよろしく御願いします。 //--------------------------------program void init_sci2(void){ int i; volatile unsigned char tmp; SCI2.SCR.BYTE = 0x00; // 0000 0000 // 設定終わるまで送 受信禁止 // スマートカードインタフェースを使用しない SCI2.SCMR.BIT.SMIF = 0; //シリアルモードレジスタ SCI2.SMR.BYTE=0x00; // 0000 0000 // シリアルボーレートレートレジスタ //SCI2.BRR=23; // = N(Err rate 0% 19.2kbps) SCI2.BRR = 47; // = N(Err rate 0% 9600kbps) // 1bit以上待つ for(i=0;i<50;i++); // シリアル通信ポート(Aポート)の入出力の設定 PA.DDR = 0x0A; // 0000 1010 A1:TX A2:RX A3:LED SCI2.SSR.BIT.TDRE=0; // clear(set 0) only writable SCI2.SCR.BYTE = 0x30; // 0011 0000 通信を許可 return; } void sci2_tx(char data){ int i=0; while(SCI2.SSR.BIT.TDRE==0){ i++; // タイムアウト設定 if(i==0xFFFF) break; }; // Transmit Data Register Empty SCI2.TDR = data; // データ送信中 SCI2.SSR.BIT.TDRE=0; // clear(set 0) only writable return; } void main(void){ // module stop control register B MSTP.CRB.BIT._SCI0 = 0; MSTP.CRB.BIT._SCI2 = 0; // 0101 1111 7:SCI_0(OFF=ACTIVE) 5:SCI_2(OFF=ACTIVE) 0:USB(off) init_sci2(); sci2_tx('a'); return; }