e2 studio(RX63T)でのPDG2で生成されたソースコードを用いたシリアル通信について

お世話になっております。

マイコン初心者です。

PDG2(V.2.09)を用いてe2 studio(V.6.0.0)でソースコードを生成し、

マイコン(RX63T)とTera Term(V.4.96)でシリアル通信を行っています。

E1デバッガを用いてPDG2のライブラリファイルの動作を確認しているのですが、

Tera termで1byteを入力すると、以下のようにマイコンでは反転されてしまいます。

例.TeraTermで'd'(0110 0100)を入力するとマイコンでは'&'(0010 0110)となってしまいます。

(pdfでどのような反転が起こっているのか記載しています。)

ソースコード

void main(void)
{
while(1)
{
R_PG_SCI_ReceiveAllData_C1(data,1);  ☆'&'(0010 0110)が格納されています。
R_PG_SCI_SendAllData_C1(data,1);
R_PG_SCI_StopCommunication_C1();
}
}

\RX63T_3.zip\RX63T_3\example\srcのexample.cの35行目のdataにビット反転した文字が入ってしまっています。

こちらの想定としてはビット反転しないはずなのですが、何か設定等があるのでしょうか。

分かる方がいらっしゃいましたらご教授お願い致します。

RX63T_3.zip

TeraTermとマイコン(RX63T)シリアル通信_ビット反転.pdf

  • チョコです。
    RXは使ったことはありませんが,単にUARTで送信順序がLSBファーストとMSBファーストで設定が食い違っているだけではないでしょうか。
    通常,調歩同期通信はLSBファーストなので,UARTとTera Termがそのように設定してあるかを確認してください。
    RX63Tの「29.2.8 スマートカードモードレジスタ(SCMR)」のb3を見ると「0:LSBファーストで送受信」とあるので,lここを確認してみてください。
  • TOKさん
    プロジェクトのソースコードの設定はMSBファーストになっているようです。
    ターミナルソフト側もMSBファーストに設定すれば大丈夫だと思います。

    ps

    出遅れました^^; チョコさんが先に投稿されているとおり、ソフトの設定でLSBにするか、ターミナルの設定でMSBにするかですね。

  • PCでのシリアル通信はLSBファーストしかないので、PCと通信するならマイコン側をLSBファーストに設定する必要があります。
  • チョコさん
    回答ありがとうございます。
    無事解決できました。
  • Kirinさん
    ソースコードの設定がMSBファーストになっていることに気づいていませんでした。
    回答ありがとうございます。
  • windyponさん
    マイコン側をLSBファーストに変更したら、想定通りになりました。
    回答ありがとうございます。