現在、RXマイコンを使用してSCI通信を行っているのですが、
データの受け取りをバッファ配列のアドレス移動を行い、そこにデータを格納しています。
受信文字列の終端文字を確認するために、コールバック関数内で判定を行っているのですが、受信データの格納位置と条件式で参照しているメモリアドレスが異なり、
条件式が正となりません。
SCI通信時の受信データの格納方法が通常と異なるように思えるのですが、どのようにすればよいでしょうか。
以下に受信データのメモリ参照の画像と、コールバック関数のコードについて添付します。
よろしくお願いします。
ryoさん、こんにちは。NoMaYです。その後どうでしょうか?なお、RXマイコンの場合、FITと呼ばれるライブラリで既に実装済みであるかどうか、確認するのが良いかと思いました。例えば、今回の、行末文字まで受信したい、というような場合、R_SCI_RXモジュールの以下の機能で出来るのではないか、と思うのです。(ごめんなさい、この機能自体は自分では使ったことが無くて、私が勘違いしていたらすみません。)RXファミリ SCIモジュール Firmware Integration Technologywww.renesas.com/jp/ja/document/apn/sci-module-using-firmware-integration-technologyPage 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();}」