シリアル通信のバイトデータ受信について

MZ Platformとは 掲示板 MZプラットフォームユーザー会掲示板 シリアル通信のバイトデータ受信について

6 件の投稿を閲覧中 - 21 ~ 26 件(全 26 件)
  • 著者
    投稿
  • #6244
    伊予研究会
    一般参加者

     シリアル通信で実数をバイトデータとして受信した後、Mzで実数にデコードしたい。受信した4バイトのデータを実数にするには、シリアル通信のコンポーネントでするにはどのようにすればよろしいでしょうか。
     実数1.025を4バイトデータに変換(リトルエンディアン方式で、3F 83 33 33)したデータをMzで正常に受信できるところまではできました。
    よろしくお願いいたします。

    #6245
    伊予研究会
    一般参加者

    (訂正)
     リトルエンディアン方式は、33 33 83 3Fでした。

    #6253
    MZPlatformユーザー会
    サイト管理者

    残念ながら、現在のシリアル通信コンポーネントには、4バイトデータから実数への変換機能はありません。

    現状での対処方法としては、スクリプト実行コンポーネントを用いてJavaソースコードで処理を作成する方法がありまして、その例をサンプルとして作成しましたので、添付のZIPファイルを展開してご確認ください。

    添付ファイル:
    #6255
    伊予研究会
    一般参加者

    ありがとうございました。変換できました。

    今回は出力側のプログラム変更が可能な場合でしたので、整数にしてから受信側で実数に戻そうかとも考えておりました。出力側でプログラム変更できない場合は、解決できていないのでどうすればいいのか迷っておりました。助かりました!!

    #6260
    伊予研究会
    一般参加者

     実数データをデバッグモードで取り込もうとしたところ、途中でハングアップします。実行モードでは問題なく動くのですが、対処方法がございましたら、ご教示ください。
     添付ファイルのsample1にMzを、その下にArduino UNOのプログラムを入れています。ハングアップする場所は、サブルーチンID-8のブレークポイントのところです。
     ちなみに、同じプログラムを整数でしたところ、問題なくデバッグモードで処理できています。参考のためこちらはsample2に入れています。
    よろしくお願いいたします。

    添付ファイル:
    #6262
    MZPlatformユーザー会
    サイト管理者

    MZのデバッグ実行は、イベント処理の方法が通常実行と大きく異なり、シリアル通信との組み合わせでは正常に動かない場合があると思います。整数の場合は処理できて実数でできない理由はわかりませんが、できない場合はそういうものだということでご容赦ください。

6 件の投稿を閲覧中 - 21 ~ 26 件(全 26 件)
  • このトピックに返信するには、ログインしてください。