• 締切済み

H8の通信について

H8S/2215(以下H8)の通信について質問があります。 なお開発環境は、下記の通りです。 H8(データ送信側):C(High-performance Embedded Workshop) PC(データ受信側):C#(Visual Stdio) H8は、4種類のデータ(以下測定データ)が各10個分溜まったらデータ送信するというものです。 下記が送信の詳細です。 ・2ms間隔で測定データを取得 ・測定データは、0からインクリメントしたデータ(0~65535) ・シリアル通信 ・送信形式は、EE 80 XX XX XX ・・・EE FF  測定データは上位8bit、下位8bitに分割(例:43690(10進)→AA AA(16進))  (XXは送信データ、EE80,EEFFは固定)  例:EE 80 AA AA AA AA AA AA・・・EE FF PCは、その送られてきたデータの異常判定をしています。受信したデータは全てログに保存しています。 通信の仕様は、57600bps,パリティチェック無し,データビットは8,ストップビットを1にしています。 現在受信したデータは、一部かけて受信しています。データは、約30,40ほどかけています。しかし、一部かけて受信するという事象は、30000~39999にかけて起こっていることが分かりました。(測定データを0~65535で取得している場合) その他の受信時のデータにはそのような事象が起こっていません。 測定データを30000~39999で限定した場合、データ受信するとログデータに受信データの一部かけるという事象が全ての測定で起こっています。 データの一部がかけるという間隔は特に、周期があるとは思われませんでした。 なぜ、測定データが30000~39999の間では受信データが一部かけるということが起こるのでしょうか?それとも、30000台という数字に特に意味がないのでしょうか? もしお分かりになる方がいらしましたら、ご教授願います。

みんなの回答

  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

 データの送受信に どのようなプロトコルを採用していらっしゃるのか 存じませんが、・・・   測定データが30000~39999の間、つまり 75 30 ~ 9C 3F の 情報を送信すると、何かまったく別の 制御コード(エスケープシーケンス等) に誤判断されてしまう、といったことはあり得ませんか?  

piyopp
質問者

補足

ご回答ありがとうございます。 30000~39999の測定データが別の制御コードに判断されるということは ありませんでした。 (ログ保存ファイルには、受信したデータをそのままファイルへ書込んでおります。) 他に、原因があるとすればどのようなものがあるのでしょうか? ご回答よろしくお願いします。

関連するQ&A