お世話になります。
現在、R8C/32GでUART2を使用しています。
エミュレータはE8a、開発環境はHEWで、問題なくデバッグできております。
今回、新たにUART0を追加で使用してみることになりました。
この場合、E8aでのデバッグは可能なのでしょうか?
よろしくお願い致します。
大丈夫だと思いますけど、、。2年ほど前にR8C32HでスイッチとポテンショとUART0からデータをもらってLEDとリレーを駆動し、一部の状態をUART0で送信するソフトウエアを作成したことがあります。設計とコーディングは簡単だったのでデバッグ作業はほとんどしませんでした。よって、UART0がらみのバグ発見がE8a+HEWで問題なくできるかは自信がありません。nojiさんはR8C32GのUART0とE8aで何か心配事があるのでしょうか?私には逆にそのあたりが気になります。
余談ですが、上記ソフトウエアの仕様に関してはボロボロで、お客様も実際に使わないと妥当性が分からないと言われ、弊社でも解釈の誤りがあり、頻繁にE8a+FDTBasicからのフラッシュへの書き込みを実行しました。その場でコードを直して、帰社してから設計書と仕様書を直す禁手オンパレードです。
kijoさん
早速のご回答ありがとうございます。経験された方のご意見が伺えて安心致しました。
>nojiさんはR8C32GのUART0とE8aで何か心配事があるのでしょうか?私には逆にそのあたりが気になります。
実は私は組み込み初心者でして、上記のものを前任者から引き継いで機能を追加しようとしております。
前任者の作成したIOポート表のPort1_4(TXD0)、Port1_5(RXD0)の部分に「PC接続用」との記述があり(この資料は完成形ではない可能性があるのですが)
そういえばエミュレータはどのピンを使用しているのだろう、まさかUART0なのでは?と的外れな方向に考えが走り
不安になって質問させていただいた次第です。
まずはとにかくやってみたいと思います。ありがとうございます。
nojiさんこんにちはNAKAといいます。
E8aのインターフェースは、MODEとRESETの専用端子なので、UARTは使えると思います。
P.S.
先日、温特が良くピンコンパチだったのでR8C23→R8C34Wに更新しましたがUART1が無くなり
UART2になってました。UART0とUART2なんてなんか変!
何故なんだろぉ~?????。
NAKAさん
ご回答ありがとうございます。
>E8aのインターフェースは、MODEとRESETの専用端子なので、UARTは使えると思います。
「E8aエミュレータ ユーザーズマニュアル別冊(接続時の注意事項) R8Cファミリ / R8C/3xシリーズ」を読み直しました。
E8aはMODEとRESET端子を使用しているのですね。いやはや、お恥ずかしい限りです。ありがとうございます。
私もUARTの番号付けにはかなり面食らいました。丸1日くらいはもやもやしていました。
今でも気になりますが、考えないようにしています。何か理由があるのであれば知りたいですよね。
チョコです。
NAKAさん。
それは,搭載されている機能の違いを数字で表しているからです。
同じ機能のUARTなら,NAKAさんの疑問はその通りなのですが,
機能が異なるUARTなので,UART0という機能とUART2という
機能の異なるUARTが搭載されているので,こんな表現になって
います。
チョコさん
いつもお世話になりますNAKAです。
つまらない疑問にお答えいただいて恐縮!!です。
確かに、UART2はUART0にはないIIC等の特殊機能などが追加されているのは理解しました。
では、同じ機能で複数チャンネルあった場合は、UART0-0とかになってしまうのだろうか?
と疑問に思ってしまうへそ曲がりなNAKAでした........笑)
UART1は調歩同期のみと機能が若干ちがうんですね!! へぇ~ 初めて知りました!
NAKAさん。正解ですよ。RL78G13は20,21ですから、........笑)。
今でも、UARTを用いたモニタープログラムやライターソフトが良く使われてます。秋月のAKI-H8/3664BP(SDIP)ボードはDSUB9ピンコネクタもついているのでエミュレータを購入しなくても非常にお手軽に遊べます。どうしても、人間は最初に覚えた手法を使いたくなります。勝手な予想ですが、「PC接続用」はそのような類ではないでしょうか?しかし、R8C/32のようにピン数に余裕の無いマイコンはエミュレータ必須です。わたくしも、カフェルネでR8C/M12Aを知り、また、裏技もお教えいただき、趣味の世界ではE8aさまさまでやってます。
こんにちはNAKAといいます。
ここR8CのフォーラムなのでRL78の話をしてはいけないかもしれませんが、僕も今年になって遅ればせながらRL78G14デビューしちゃいました。ちょいちょいとUARTのデバイスドライバー関数を作ってやろうと思いましたが、ローエンドの割にレジスタ設定がめちゃくちゃめんどくさいですね!!だってTXとRXの設定をそれぞれ分けてしなくちゃいけないし、ユニットやらチャンネルやら混乱しそうな分別があるし.....涙)
R8CはもちろんSH,M32R、RXやV850だって初期設定なんて数個のレジスタを設定すればいいだけなのに.......汗)
例えばV850E2-FG4-Lなんかだったら
URTE2CTL0 = 0x80
URTE2CTL2 = 0x0187; //ボーレート設定
URTE2CTL1 = 0x0103; //フォーマット設定
URTE2CTL0 = 0xE0; //動作設定
ICLMA2IT = 0x0003; //UARTE2=LMA2送信割込み許可
ICLMA2IR = 0x0003; //UARTE2=LMA2受信割込み許可
ICLMA2IS = 0x0003; //UARTE2=LMA2エラー割込み許可
こんな程度ですむのに
※でも端子のフィルタ機能がデフォルトでONされていてOFFにしないと受信できないという罠!がありますけど
RL78は.......................カットペーストするのも疲れるほどいっぱい設定が必要ですね!!
結局、電源入れてからUARTで送受信できるまで、丸一日かかちゃいました...........アホ?!
RL78は1週間程度しか触ってない、ど素人ですので今度本家RL78フォーラムでいろいろ教えてくださいね!!!
> RL78G13は20,21ですから、........笑)。
KIJOさん,それは,数字のルールがちょっと違います。
RL78のSAUの番号はハード的なものと,使い方での番号が
入り混じっていて,一筋縄ではいきません。
ハードからは,ユニット番号+チャネル番号(TAUはこれで
統一されています)で扱うべきです。
ところが,SAUでは,2チャネルをまとめて使用するUARTの
番号に合わせているので,余分な変換が必要になっています。
しかも,設定するときのレジスタの名称の番号はハードの番号
になるので対応を考慮するのが面倒です。
(なお,コード生成では,使い方での番号だけになります。)
NAKAさん。RL78の初期設定では,コード生成を活用してみて
ください。最初は細かなレジスタ設定は気にしないでいいです。
単純にコード生成すると,API関数まで生成されるので,私は
コード生成は初期設定だけにして,実際の制御部分はすべて
作成するようにしています。
なお,CS+のコード生成は,簡単に初期設定だけにできます。
(サンプルプログラム等の"RL78/G10でのCS+の注意事項"
の「(5)コード コード 生成の 生成の 便利な 便利な 設定」
を参考にしてください。)
japan.renesasrulz.com/.../213.aspx
RL78の方でお待ちしています。