RXマイコンでのSCI通信について

現在、RXマイコンを使用してSCI通信を行っているのですが、

データの受け取りをバッファ配列のアドレス移動を行い、そこにデータを格納しています。

受信文字列の終端文字を確認するために、コールバック関数内で判定を行っているのですが、受信データの格納位置と条件式で参照しているメモリアドレスが異なり、

条件式が正となりません。

SCI通信時の受信データの格納方法が通常と異なるように思えるのですが、どのようにすればよいでしょうか。

以下に受信データのメモリ参照の画像と、コールバック関数のコードについて添付します。

よろしくお願いします。

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

    その後どうでしょうか?なお、RXマイコンの場合、FITと呼ばれるライブラリで既に実装済みであるかどうか、確認するのが良いかと思いました。

    例えば、今回の、行末文字まで受信したい、というような場合、R_SCI_RXモジュールの以下の機能で出来るのではないか、と思うのです。(ごめんなさい、この機能自体は自分では使ったことが無くて、私が勘違いしていたらすみません。)

    RXファミリ SCIモジュール Firmware Integration Technology
    www.renesas.com/jp/ja/document/apn/sci-module-using-firmware-integration-technology

    Page 68

    R_SCI_Control()

    SCI_CMD_COMPARE_RECEIVED_DATA, // Compare received data with comparison data (受信データを比較対象データと比較する


    Page 46

    else if (args->event == SCI_EVT_RX_CHAR_MATCH)
    {
    //from RXI interrupt, received data match comparison data (RXI 割り込みから受信したデータが比較対象データと一致)
    //character placed in queue is in args->byte (キュー内に配置される文字は args->byte の順序)
    nop();
    }


Reply
  • ryoさん、こんにちは。NoMaYです。

    その後どうでしょうか?なお、RXマイコンの場合、FITと呼ばれるライブラリで既に実装済みであるかどうか、確認するのが良いかと思いました。

    例えば、今回の、行末文字まで受信したい、というような場合、R_SCI_RXモジュールの以下の機能で出来るのではないか、と思うのです。(ごめんなさい、この機能自体は自分では使ったことが無くて、私が勘違いしていたらすみません。)

    RXファミリ SCIモジュール Firmware Integration Technology
    www.renesas.com/jp/ja/document/apn/sci-module-using-firmware-integration-technology

    Page 68

    R_SCI_Control()

    SCI_CMD_COMPARE_RECEIVED_DATA, // Compare received data with comparison data (受信データを比較対象データと比較する


    Page 46

    else if (args->event == SCI_EVT_RX_CHAR_MATCH)
    {
    //from RXI interrupt, received data match comparison data (RXI 割り込みから受信したデータが比較対象データと一致)
    //character placed in queue is in args->byte (キュー内に配置される文字は args->byte の順序)
    nop();
    }


Children
No Data