11-29-2018 04:01 AM
私は今現在、マイコン⇔LabVIEWのシリアル通信を試みています。
LabVIEWから応答をマイコンに送って、
返ってきた応答を読み取るプログラムを作成しているのですが、
返ってきた16進数のバイト配列の中に改行コード0x0Aが含まれており、
本来5バイトのデータのはずが2バイト目までしか読み込めません。
読み取れなかった3バイト分は次のデータを読み込んだ時にくっついて読み取られます。
そこで、改行コード0X0Aが含まれていても、
ちゃんと5バイト分まとめて読み込む方法がないか教えて頂きたいのです。
どうぞよろしくお願い致します。
解決済! 解決策の投稿を見る。
11-29-2018 04:09 AM
Post your code or a picture of your code. We will be able to tell you what is going wrong.
Benoit
11-29-2018 08:49 PM
こちらがLabVIEWのコードになります。
マイコンとLabVIEWのやり取りを2回行っています。
This is LabVIEW BlockDiagrm.
It communicated between microcomputer and LabVIEW 2 times.
11-29-2018 09:28 PM
did you try to increase the delay?
The micro processor might take more time to answer...
I joined to this answer a proper way to do a read from Serial port.
This way, you should never miss any byte.
Benoit
11-29-2018 10:46 PM
VISAプロパティの「Serial Settings -> End Mode for Reads(端子表示名はASRL End In)」プロパティのデフォルト値は「2 : TermChar」です。これが「2」だと「Message Based Settings -> Termination Character Enable」は無視されます。
これらを正しく設定するか、デフォルトで「0x0A」に設定されている「Termination Character」を別の文字に変更しましょう。
12-01-2018 01:23 AM
問題は解決致しました。
ありがとうございました。
I solved this problem.
Thank you very much.