CSIのシミュレーション方法

毎度お世話になっています

CSIのシミュレーション方法をお教えください。

添付図のようにコード生成し、シミュレータ側のフォーマットを設定、mainに送信処理を書いたのですが、シミュレータに表示されず悩んでおりました。

CSIの送信動作は行われてるはずだと思うのですが(送信終了割込みの関数 r_csi11_callback_sendend へジャンプすることを確認)送信したデータがシリアルウインドウに出てきません。

UART0等を試したときは簡単に表示されたので、私のCSI絡みの設定方法が間違ってると思うのですが解決できないでいます。

よろしくお願いいたします。

<追記>

シリアルウインドウ側のフォーマットの「スレーブ」選択を「マスター」にしても表示されません。また速度や波形選択を変更しても表示されないようです。なおCPUは秋月のR5F100LGでCS+は最新版です。

             

Parents
  • Mooさん、こんにちは。NoMaYです。

    >何故にシリアルウインドウから、データ送信をする必要が有るのか
    私は、シミュレータGUIを作った人達の勘違いかな、と思います。CSIというのは送信/受信が同時に行われるもの、という認識なのだろうな、と。確かにCSIの回路的にはそうなのですが、運用として、送信のみ(受信データはAll 0x00等)/受信のみ(送信データはAll 0x00等)という感覚で行われることも少なくない、ことにまで気が回らなかったのかな?と思うのです、、、(気が回らない、ということに関しては、私も人のことを言えませんけれど、、、)

    それで、これを書いていたら、送信データ設定の手間を軽減するやり方が思い浮かびました。以下の画面コピーのように、送信データを0x00にしてフォーマットで[繰り返し]を指定すれば、少し楽が出来そうです。

  • チョコです。
    NoMayさん、
    >シミュレータGUIを作った人達の勘違いかな、と思います。
    私は、勘違いではなく、単なる手抜きだと思います。ダイナミックに送信と受信を切り替えるような使い方をしたり、送受信に設定してデータ送信とダミーデータ送信による受信が行われることを考えると、シミュレータとしてどのように対応するかは難しいところです。
    それなら、ダミーデータを含めてすべて定義させるのが一番簡単な対応になるかと思います。実際の波形に近くなります。

    >CSIというのは送信/受信が同時に行われるもの、という認識なのだろうな、と。
    このように考えるのが一番妥当でしょう。CSIでトラブっているケースでよくあるのは、マスタとして送信するデータはケアしていてもスレーブが送ってくるデータのケアをしてない(ダミー・データを送信してSCK を出力するのをやっていない)はよく見かけます。
    CSIは送受信を同時に行うと考えていれば、トラブルは少ないと思いますよ。
Reply
  • チョコです。
    NoMayさん、
    >シミュレータGUIを作った人達の勘違いかな、と思います。
    私は、勘違いではなく、単なる手抜きだと思います。ダイナミックに送信と受信を切り替えるような使い方をしたり、送受信に設定してデータ送信とダミーデータ送信による受信が行われることを考えると、シミュレータとしてどのように対応するかは難しいところです。
    それなら、ダミーデータを含めてすべて定義させるのが一番簡単な対応になるかと思います。実際の波形に近くなります。

    >CSIというのは送信/受信が同時に行われるもの、という認識なのだろうな、と。
    このように考えるのが一番妥当でしょう。CSIでトラブっているケースでよくあるのは、マスタとして送信するデータはケアしていてもスレーブが送ってくるデータのケアをしてない(ダミー・データを送信してSCK を出力するのをやっていない)はよく見かけます。
    CSIは送受信を同時に行うと考えていれば、トラブルは少ないと思いますよ。
Children
No Data