デバッガが使用する端子と兼用になっているSCIについて

H8/3048F-ONEを使ったシステムの開発を行うことになりました。

SCI1をつかったシリアル通信を行いたいのですが、SCI1のTx、Rxの端子が

デバッガ(E10T)が使う端子と兼用になっています。

デバッガをつないでいる間は当然SCI1を使った通信は行えないので

デバッガをつないでない時にSCI1の通信が動けば良いことになっています。

ここで質問ですがプログラムをする上では、デバッガと兼用になっていることを

気にせずにSCI1のピンの設定やビットレート等の設定を行えば良いのでしょうか?

デバッガをつないでデバッグを始めれば、プログラム上で行ったSCI1の設定は

自動で無効になるのでしょうか?

変な質問で申し訳ありません、宜しくお願いします。

  • 実際のところはわかりませんが、『H8ファミリ用 E10T-USB エミュレータユーザーズマニュアル 別冊H8/3048F-ONE、H8/3029F ご使用時の補足説明』の16頁、「2. E10T-USB エミュレータソフトウェア仕様」に P91/TXD1, P93/RXD1, P95/SCK1 の各ピンについて

    (13) ポート9使用時の留意事項
       ポート9のP91、P93、P95は、E10T-USBエミュレータが占有します。ユーザプログラムでP9DDRレジスタライトを行う場合、P9DDRレジスタのP91DDRビット、P93DDRビット、P95DDRビットは、下記の設定としてください。P9DDRレジスタは、外部リセットで初期化されます。ユーザプログラムのリセット例外処理で必ずP9DDRの設定を行ってください。
            P91DDR=1
            P93DDR=0
            P95DDR=0

    と、SCI1 で使用する場合とは違う設定を各ピンについて行えという説明があるので、SCI1 とは違う機能を使用して デバッガとマイコンの通信は行われるんじゃないでしょうか。そうだとしたら SCI1 への設定はデバグには影響しないと思います。

  • 仮に SCI1 の設定がデバグに影響があるとして、デバグ中は条件コンパイルかなんかで SCI1 への処理を外せば良いだけなので、問題としてはどうでも良いものと思います。
  • こんにちは、通りすがりのE10T-USB使用経験者です。
    ユーザプログラムのSCI1に関する設定はデバッガの動作に影響はありません。
    ただ、
    P91DDR=1
    P93DDR=0
    P95DDR=0
    の設定を守らないとブレーク時にエラーになってしまいます。
    同じH8でもH8/300H Tinyなどはそんな設定は不要なんですが、オンチップデバッグの仕組みが異なるようですね。
  • fujita nozomuさん、morimotoさん、お返事ありがとうございました。
    P91、P93、P95の方向レジスタを設定する必要がある事は気がつきませんでした。
    来週実機が届くので確認してみます。
    ありがとうございました。