スマートコンフィグレータでi2c通信を行おうと思っているのですがコード生成してもcs+のほうで表示されません。
ネットで調べると図のようにスマートコンフィグレータの下に表示されています。
初歩的なことで申し訳ないのですがどなたか原因を教えてもらえないでしょうか?
たむら さん、こんにちは。NoMaYです。>> (3) ただ、この時点(或いは少し後?)のCS+のプロジェクトtestd.mtpjですが、testd.mtpj内にscfgファイルに関する情報が欠落してしまっています。(★第一の謎)> (3)はプロジェクトの変換を他の方にやってもらったので原因がわかりません...そうであれば、プロジェクトの変換をやって頂いた人のCS+にRXスマートコンフィグレータプラグインがインスト-ルされていないとか(もしくはまだ有効にしていないとか)そういったことも考えられますね。
NoMaYさん、回答ありがとうございます。
また、新たな問題が発生しましたので質問してよろしいでしょうか?
コード生成したら元々ファイルが消えており、ほかの方も同じような質問をしていて拝見させてもらったのですがいまいち解決方法がわからないため原因を解明してもらえないでしょうか?
またコード生成するときにセクション設定というのがでてきたので添付しておきます。
よろしくお願いします。
たむら さん、こんにちは。NoMaYです。状況把握の為に、すみませんが、画面コピーを見せて頂けませんか?
ちなみにsmart configuratorの中のファイルは消えてないです。
たむら さん、こんにちは。NoMaYです。ああっ、状況が分かりました。そもそもsrcカテゴリの下のsmc_genカテゴリはCS+では不要なものです。(CS+の本来のプロジェクトではsmc_genカテゴリの下の内容はSmart Configuratorカテゴリの下に登録されるようになっていて、そもそもsrcカテゴリの下のsmc_genカテゴリは存在しないのです。) なので、srcカテゴリの下のsmc_genカテゴリは、ざっくり [プロジェクトから外す] ようにして下さい。ちなみに、改めてe2 studioがCS+向けに生成したrcpcファイル(とCS+がe2 studio向けに生成したrcpeファイル)を見てみると、(どちらにも、)このフォルダがRXスマートコンフィグレータがコード生成するフォルダですよ、という情報は出力されておらず、その辺りがスムーズに行かない原因かも知れません。(もっとも、e2 studioがCS+向けに生成したrcpcファイルには、RXスマートコンフィグレータが使用されていますよ、という情報すら出力されていませんけれども。)こうしてみると、RXスマートコンフィグレータを使用したe2 studioプロジェクトをCS+プロジェクトに変換することには、幾つかのトラップがあったのですね、、、
main関数の中にヘッダーファイルがあってそのファイルがsmc_genカテゴリにあるのですがそのファイルはSmart Configuratorカテゴリの下に登録するのでしょうか?
たむら さん、こんにちは。NoMaYです。以下はRXスマートコンフィグレータが生成したヘッダファイルで、Smart Configuratorカテゴリの下に自動的に登録されますので、手作業で何かする必要は無いです。r_smc_entry.hConfig_ICU.hConfig_CMT0.hConfig_PORT.h以下はTB-RX65向けに人手で作成されたヘッダファイルで、リアルのWindowsファイルシステム上においてsrcフォルダ直下にあり、CS+のプロジェクトエクスプローラ上でもsrcカテゴリ直下にあり、手作業で何かする必要は無いです。tbrx65ndef.hと、ここまで書いて思ったのですが、そうでは無く、たむらさんのプロジェクトで使っていない/コード生成していないコンポーネント(ICU/CMT0/PORT)の話なのでは?という気がしてきました。そういうことであれば、コード生成していないコンポーネントのヘッダファイルのインクルード文は、そもそもヘッダファイルを生成させていないのだから、ソースの方を修正してインクルード文を削除すれば良いですよ。
返信が遅くなり申し訳ございません。
main関数というのはledを光らせるプログラムのことで
Config_ICU.h
Config_CMT0.h
Config_PORT.h
は元々あったソースファイルでSmart Configuratorカテゴリの下に登録されていませんでした。
上のヘッダーファイルが登録されていないのでsmc_genカテゴリをプロジェクトから外すとプログラムが動かなくなるのでは?と思い質問させていただきました。
main関数の画像を添付しておきます。
何度もすみませんがよろしくお願いします。
たむら さん、こんにちは。NoMaYです。> 上のヘッダーファイルが登録されていないのでsmc_genカテゴリをプロジェクトから外すとプログラムが動かなくなるのでは?と思い質問させていただきました。このmain()は、たむらさんのプロジェクトでコード生成していないICU/CMT0/PORTのコンポーネントを使っているのだから(そもそも元々のTB-RX65Nのサンプルプログラムのmain()ですので)、もちろん、コンパイルもリンクも出来なくなりますよ。先日のscfgファイルによると、たむらさんのプロジェクトでコード生成していたのはr_bsp/Config_RIIC/Config_SCI0でしたから、このmain()の中身は、たむらさんのプロジェクトではもう使えないというか、そもそも不要というか、このmain()は、たむらさんのプロジェクト向けに書き換えないといけないものですよ。
たむら さん、こんにちは。NoMaYです。質問の返事としては、そうです、なのですけれど、ちょっと面食らったのは、main()にプログラムを書いていくことは、Cプログラムの普通の書き方なのですけれど、そこを聞かれたことに正直なところ私は困惑しているところです。ひょっとして、たむらさんが思っていたRXスマートコンフィグレータを使ったプログラム開発のイメージと大きく違っていましたか?