シリアル通信

5 件の投稿を閲覧中 - 1 ~ 5 件(全 5 件)
  • 著者
    投稿
  • #4385
    hymd
    一般参加者

    Sampleプログラムの「シリアル通信ターミナル.mzax」について、市販のマイコンボード(ARDUINO製)を使用してRS232C通信をしようと考えています。送信は問題なくできているのですが受信ができず、待ち状態が続いております。
    このプログラムで市販のRS232C機器の通信は送受信とも問題ありません。また、ボードの方もRS232C用のフリープログラムでも送受信は問題なくできており、違いが判りません。
    お気づきの点がございましたら、ご教授ください。

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

    Sampleの「シリアル通信ターミナル」アプリとArduinoのシリアル通信について、産総研で試している範囲では問題なく動作しております。そのため、すぐには原因が思い当たりません。お役に立てず申し訳ありません。

    こちらで想定する範囲外の使い方をされているかもしれませんので、もう少し状況を詳細にご説明していただけると助かります。例えば、そのマイコンボードはどのようなデータを受信して、どのようなデータを送信するものでしょうか。そのときの通信速度などの設定もお知らせください。

    加えて、問題の切り分けにいくつか質問させていただきます。
    お使いのマイコンボードは、MZアプリから送信されたデータに応じて正常に動作していることが確認できるので、送信は問題ないと判断されているのでしょうか。一方、受信ができないとは、マイコンボードからの送信は正常に実施されていることが確認できるが、MZアプリ側で受信が確認できないということでしょうか。また、待ち状態が続いているとは、MZアプリ自体の操作は可能で、受信データを表示できないだけでしょうか。もしくは、MZアプリを操作できない状態になっているのか、どちらでしょうか。

    #4387
    hymd
    一般参加者

    お手数をおかけします。
    1)ポートCOM7,通信速度9600、データ長8,パリティビット0,ストップビット1,フローなし,の設定です。
    2)マイコンボードには、文字列を送受信します。例)RST$ 送信すると、OK<CR><LF>と受信するのですが、受信できません。ほかのREAD,1$でも同様に受信できません--->通信内容はSEND:RST$のみの表示で、RECV表示はありません。この状態で、通信内容クリア、フロー制御選択、テキストフィールドの変更は可能ですが、クローズを押すと、プログラムが固まり、他の項目も変更できなくなります。それで、USBを取り外すと、「通信データの読み込みに失敗しました。」とエラーメッセージダイヤログが表示されます。
    3)送信のみの場合(例WRITE,1,111111$)は、通信内容に表示され、クローズを押しても0:ポートの切断になり、他の動作も問題なくできます。また、USBを外しても問題ありません。
    4)ボードでの信号LED点灯が2)3)とも確認できております。
    以上ですが、宜しくお願いいたします。

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

    詳細なご説明ありがとうございます。
    確かに、マイコンボードからのデータを受信したMZ側で、通信が完了しない状態になっているようです。そのまま通信を終了しようとすると、フリーズするという現象は以前生じたことがありました。これについては、残念ながら不具合の原因を特定できておりません。

    ご説明いただいた中で、もしマイコンボードから送信されるデータが必ず改行コードを含んでいるのであれば、以下の設定をお試しいただけますでしょうか。

    1)ビルダーで、「シリアル通信」コンポーネントの属性情報を開きます。
     (左側に並んでいるコンポーネント上でダブルクリックすれば開きます)
    2)属性「ReadMode」を0から2に変更して、「設定」ボタンで閉じます。
    3)アプリを別名で保存して実行し、通信を開始してお試しください。

    属性「ReadMode」を2にすると、改行コードを読み取ったときにデータ生成イベントが発生します。0のときは、通信の途切れた時にデータ生成イベントが発生しまして、改行コードがない場合も一連の文字列等を受信することができますが、何らかの理由で途切れていない状態になっているとすると、イベントが発生せずに今回のような状態になると思われます。

    #4389
    hymd
    一般参加者

    属性を変更して、実施したところ問題なくデータが読み込めました。
    マイコンボードの送信には、必ず改行コードを付加した内容で構築していきます。
    ありがとうございました。

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