お世話になっております。
今回スマートコンフィグレータでI2C通信のコード生成を行い
https://www.renesas.com/jp/ja/doc/products/tool/doc/013/r20ut4360jj0104-scapirx.pdf
にあるマスタ送信の使用例1のサンプルプログラムを動かしてみたところ添付してある画像のようにエラーが出ました。
色々調べてみたのですが原因がわからなかったのでどなたか教えてもらえないでしょうか。
よろしくお願いします。
たむら さん、こんにちは。NoMaYです。最初のエラーのiodefine.hのインクルードエラーのメッセージからの推測ですが、新旧のr_bspのファイルが混在してしまっているのではないかと疑われます。(先日いろいろあったせいだと思います。) ですので、src\smc_gen\r_bsp\をフォルダごと一旦削除してから、再度コード生成してみてもらえますか?その後で再度ビルドしてみるとどうなりますでしょうか?あと、(同じく先日いろいろあったことで)CS+のインクルードパスの設定も、新旧のr_bsp対応のものが混在してしまっているのではないかと気になります。再度コード生成する前に、こちらもインクルードパスの設定を全て一旦削除してみてもらえないでしょうか?(あ、でも、念の為に、インクルードパスの設定は何かのテキストファイルにバックアップしてから削除して下さい。)
NoMaYさん、回答ありがとうございます。
返信が遅くなり申し訳ございません。
src\smc_gen\r_bsp\のフォルダを消してからやってみるとまた別のエラーが発生しました。
原因を調べてみたのですが自分の力では解決できなかったのでまたお願いしてもよろしいでしょうか?
たむら さん、こんにちは。NoMaYです。これは以下のファイルが(私が思っていたようには)再生成されていなかったことが原因なのかも知れません。または、同名ファイルが2つ存在するようになってしまっている、かも知れません。対象ファイルsrc/smc_gen/r_config/r_bsp_config.h対処案(1) 同名ファイルが存在していたら上記以外のファイルは削除する(2) そうでなければ上記ファイルを削除して再度コード生成する補足エラーの出ている箇所は、新しいバージョンのr_bspで追加されたデファインですね。(つまり、古いバージョンのr_bspには存在しないデファインなのです。) デファインはr_bsp_config.hにあるのですが、r_bsp本体を再生成させた時にr_bsp_config.hも再生成されて辻褄は合うようになっている筈だと思っていたのですが、私が何か誤解しているかも知れないです。(というか、r_bsp_config.hはコード生成させる度に生成(というか更新)されている筈だったと思いますので、何故このデファインが漏れているのか(と推測されるのです)、ちょっと腑に落ちないところではあります。)
上記の方法を試すと次は別のエラーが出てきてしまいました。
何度もすみません。
たむら さん、こんにちは。NoMaYです。これはコンパイル時の普通のワーニングだと思います。CS+でコンパイルエラー/ワーニングが表示されているウィンドウにはどのようなワーニングメッセージが表示されていますか?
このようになりました。
たむら さん、こんにちは。NoMaYです。ヘルプ画面から切り取ったものではなくて、CS+のメニュー[表示]→[エラー一覧]で表示されるウィンドウに表示されているワーニングメッセージが見たいです。
こちらでよろしいでしょうか?
たむら さん、こんにちは。NoMaYです。どうもありがとうございました。_R_Config_RIIC0_Master_Sendが見つからない、というリンクエラーも出ていますね。推測ですが、RXスマートコンフィグレータでRIIC0コンポーネント選択時に送受信機能版を選択したのではないですか?Config_RIIC0.c中に、R_Config_RIIC0_Master_Send()ではなくてR_Config_RIIC0_Master_Send_Receive()が生成されていませんか?もしそうであれば、RIIC0コンポーネント機能を"送受信"ではなくて"送信"に変更して、再度コード生成させてみて下さい。今のところ他の可能性は思い浮かばないのですが、解決しないようであれば、プロジェクトのファイル一式をzipファイルに固めて、リプライに添付して頂くのが良いのかな、と思います。