こんにちは、
RL78 F13 48ピンコントローラーのLINを使用しています。
使用している LIN IC は TJA1021 - マスターです。
2 つのスレーブがマスターに接続されており、50 ミリ秒のタイマー間隔で while ループが発生し、両方のスレーブにヘッダーを 1 つずつ送信してデータを受信しようとしています。
両方の送信間に約 2.5 ミリ秒のディレイを追加すると、LIN 通信は正常に機能しています。
そうしないと、LIN からデータを取得できません。
-------------------------------------------------- -----------------
例:
2回の送信の間に遅延がある場合問題なく動作します。
LIN_Master_HeaderTransmit(0x81); //LIN スレーブ 1for(int i =ZERO; i<=2500; i++){ Wait1us();}LIN_Master_HeaderTransmit(0x82); //LIN スレーブ 2
-------------------------------------------------- --------------------
以下のコードは機能しません。
LIN_Master_HeaderTransmit(0x81); //LIN スレーブ 1
LIN_Master_HeaderTransmit(0x82); //LIN スレーブ 2
このディレイは予期されたものですか、それともディレイなく動作するはずですか?教えてください。
ありがとうございます。
Vishさん、こんにちは。NoMaYです。> 両方の送信間に約 2.5 ミリ秒のディレイを追加すると、LIN 通信は正常に機能しています。> そうしないと、LIN からデータを取得できません。> このディレイは予期されたものですか、それともディレイなく動作するはずですか?LIN_Master_HeaderTransmit()というのは、ルネサスさんのアプリケーションノートか何かでソース全体が公開されているものでしょうか?あるいは、CS+のコード生成機能やAppliletで生成されたものであって、ソースを私が見ることが出来るものでしょうか?
NoMay さん、
LIN_Master_HeaderTransmit()というのは、ルネサスさんのアプリケーションノートか何かでソース全体が公開されているものでしょうか?>> はい。そうです。www.renesas.com/.../search(IARのサンプル)