スマートコンフィギュレータによる端子設定についてご教示願います。使用マイコンはRH850F1KM-S1(R7F701692)です。
端子設定->端子番号タブ上で兼用機能として設定した端子に対して、どこまで
端子番号2の端子に兼用機能TAPA0WPを割り当てました。出力の初期値として1を設定したいのですが、可能でしょうか。
端子設定->端子番号タブ上では設定する項目がなかったため、コンポーネントタブ->Drivers->入出力ポート->Config_PORT(事前に作成済み)において、P10_4の「出力」/「1を出力」にチェックを入れることで対応出来ないかと思いましたが、競合が発生しました。※Config_PORTはあくまでもGeneralポートとして使用する場合にのみ設定可能なのでしょうか。
matsuさん、こんにちは。NoMaYと申します。他の品種(RXスマートコンフィグレータ/RL78コード生成機能)からの類推になりますが、生成されたコードにおいて、以下の設定はGeneralポートの内蔵周辺レジスタに対する設定になる筈ですので、兼用機能に割り当てた場合の兼用機能における端子出力の初期値をここで設定することは出来ないと思うのです。> コンポーネントタブ->Drivers->入出力ポート->Config_PORT(事前に作成済み)において、> P10_4の「出力」/「1を出力」にチェックを入れるRH850はユーザーズマニュアルが非公開(入手するには守秘契約を結ぶ必要があるのだと思います)なので、TAPA0WPの仕様が分からないのですが、端子出力の初期値を選択したいニーズがあるものなら、その機能の内蔵周辺レジスタに何かしらのそういった機能(もしかすると頓知的な発想が必要になるのかも知れません)がないですか?
matsuさん、こんにちは。NoMaYです。> 上記も併せて考えると、端子機能のレジスタ設定としてサポートしている機能(出力初期値や出力ドライバ強度など)は兼用機能の端子に関しても可能なのではないかと考えています。ユーザーズマニュアルが非公開なので、ユーザーズマニュアルのポートの章に書かれている回路構造の模式図も分かりませんので、すみませんが、それが可能そうなのか私には分からないです。少なくとも他の品種(RX, RL78)の話では、兼用機能に割り当てた場合の兼用機能における端子出力の初期値の0/1をポート回路で設定出来るという話は、自分には覚えが無いです。ですが、以下のような小技はあります。RL78⇒ 兼用機能時のポート出力が汎用ポート出力とORされたりANDされたりしていて、そのことを利用して、ポート出力値設定レジスタに1を書いて端子出力を強制的に1にしたり、逆に、ポート出力値設定レジスタに0を書いて端子出力を強制的に0にしたり、といった操作が出来る(下記のユーザーズマニュアルの回路構造の模式図の画面コピーの赤枠部分を見て下さい)RL78, RX⇒ 兼用機能をユーザプログラム内で一時的に汎用ポート機能に切り替えて端子出力の0/1を操作する(ただし、汎用ポート機能への切り替え前の兼用機能時、汎用ポート機能から切り替えた後の兼用機能時、においては望まない出力になってしまうケースがあることは避けられないですが)過去、RH850に関しては、かふぇルネで、RH850は端子をポートとして使うだけでもびっくりするほど沢山のポート設定レジスタを操作しないといけない、というつぶやき(ぼやき?)を見掛けた覚えがあります。それらのポート設定レジスタの中に、兼用機能に割り当てた場合の兼用機能における端子出力の初期値を設定することが出来るようなポート機能の内蔵周辺レジスタがあれば、RH850スマートコンフィグレータのポート設定のGUIで出来た方が良いよなぁ、と私は思います。RL78/G14 ユーザーズマニュアル ハードウェア編 画面コピーwww.renesas.com/jp/ja/search/keyword-search.html#genre=document&q=r01uh0186r01uh0186jj0330-rl78g14.pdf
チョコさん、こんにちは。NoMaYです。> RH850はV850の流れをくんでいるのでああっ、そうですね、V850E2まではユーザーズマニュアルが公開されているので、何か探してみましょう。それのポートの章の回路構造の模式図の画面コピーを後で投稿しようと思います。
matsuさん、チョコさん、こんにちは。NoMaYです。V850E2/Fx4-Hの端子機能の章の回路構造の模式図は以下の画面コピーの通りでした。この図しかありませんでしたので、どのポートも同じ回路ですかね。[訂正] STD1V1と書かれた点線枠内が同じで、それより右側の部分は多少ポート依存するのでしょう。(少なくともアナログ入力が書かれていませんので。) あと、TAPAがありますね。後で見てみようと思います。[追記] どうもTAPAは(V850E2/Fx4-Hでは)TAUA0のオプション機能のようですので、TAUA0も見ないといけなさそうですね。V850ファミリ 製品ページwww.renesas.com/jp/ja/products/microcontrollers-microprocessors/v850.htmlV850E2/Fx4-Hグループ 製品ページwww.renesas.com/jp/ja/products/microcontrollers-microprocessors/v850/v850e2fx/v850e2fx4h.htmlV850E2/Fx4-H ユーザーズマニュアル ハードウェア編www.renesas.com/jp/ja/search/keyword-search.html#genre=document&q=r01uh0318r01uh0318jj0100_v850e2_fx4_h.pdf[追記]TAPA0WPというのは、以下の画面コピーの青色枠部分になるのでしょうかね。どうもTAPAは(V850E2/Fx4-Hでは)TAUA0のオプション機能のようですので、TAUA0も見ないといけなさそうですね。
matsuさん、こんにちは。NoMaYです。> 上記も併せて考えると、端子機能のレジスタ設定としてサポートしている機能(出力初期値や出力ドライバ強度など)は兼用機能の端子に関しても可能なのではないかと考えています。あと、matsuさんが誤解されているのかな、と感じたことがあります。微妙なニュアンスのことなのですが、出力ドライバ強度に関してはそれを設定するレジスタが存在しているということで合っている筈ですが、それとは異なり、出力初期値を設定するレジスタが存在するわけではない筈です。単に、汎用ポート機能で普通にいつも使用している出力値設定レジスタ(リセット時の値は0)の値を0⇒1へ書き換えているだけの筈だと思うのです。誤解:出力初期値を設定するレジスタが存在していて、そのレジスタに書き込みをしている実際:そういうレジスタは存在していなくて、単に、汎用ポート機能で普通にいつも使用している出力値設定レジスタ(リセット時の値は0)の値を0⇒1へ書き換えている、だけである
matsuさん、こんにちは。NoMaYです。> なお別途ルネサスに問い合わせたところ、この設定はスマートコンフィギュレータでは対応出来ないみたいです(えぇ。。という感じですが)。そうかなぁ、、、この先は個人の感想といった感じになりますが、途中までは汎用ポート機能として使用して途中からは兼用機能に切り替える、といった使い方がスマートコンフィグレータGUI上で設定出来なくても、私は、そういう設計は充分に自然だという気がします、、、あと、(過去の自分の)発注する側としての経験では、「顧客からのスペックとして「初期値1とする」」において、発注元の人はスマートコンフィグレータGUIを意識して発注仕様書を書いているわけでは無いと思うのです。くどく書くと、「スマートコンフィグレータGUI上で設定した他のポートに初期値1を出力するのと同じタイミングでその端子から1を出力する」ことを意味してはいないと思うのですね。だから、TAUA0に端子出力を1にする機能があったとすれば、装置の他の部分が動き出す前ならmain()の先頭でTAUA0の機能で1出力にしてもよいかも知れません。(装置全体がどう動作するかによりますが、、、もちろん発注元と打ち合わせた上で、ですが、、、main()の先頭だとさすがに遅いかなぁ、との返事が返って来るかも知れませんので、、、)逆に、0出力は絶対にダメだ、ということならば、端子機能を汎用ポート(リセット後の状態は入力ポートでHi-z)機能から兼用機能に切り替える前にTAUA0の機能で切り替え直後から1出力になるように、事前にTAUA0の機能で兼用機能での出力初期値を1に設定しておく、という対処も必要になると思うのです。(ただ、スマートコンフィグレータの自動生成コード部分を書き換えないといけないことになる場合もあり、そうなったら、私も、さすがにそれは面倒だよなぁ、とは思うのです。(私の場合、裏技#defineマクロとか考えたりして、ちょっと意地になって自動生成コード部分を書き換えずに済まそうとしてしまうこともあります。RL78やRXの時の話ですけど。))同じRH850系列のマイコンを使用したソースコードを手に入れた、とのことですので、この先の作業へと進むことが出来そうですね。