• 締切済み

シリアル通信と文字列送信

PCから機器へeasycommで通信をしようとしていますが、文字列を送信すると正しく送られていません。3文字までは正しく遅れるのですが、3文字を超えて遅れると文字が抜けて送信されているようです。また、3文字を超えると文字によっては文字化けも発生します。何が悪いかわかってないため、送信遅延を設けたりするとなおるものなのか試したいです。文字列の送信をゆっくり確実に送るなどの方法はとれるでしょうか?また手法も教えて頂きたいです。ほかにも、原因に対してアドバイス頂けると助かります。

みんなの回答

  • misawajp
  • ベストアンサー率24% (918/3743)
回答No.3

クロックが合っていない 双方の速度設定やビット構成の設定がずれていませんか あとは 余分なビットが付加されるような設定になっている

unserious
質問者

補足

ちなみにテラタームでの通信は可能で、同一の設定をeasycommにしていますがうまくいきません。。"4800,n,8,1"。 ビット構成の設定など、本当はあまりよくわかっていないのでそのあたりになにか原因があるかもしれません。

全文を見る
すると、全ての回答が全文表示されます。
  • koujikuu
  • ベストアンサー率43% (428/992)
回答No.2

pcから送信したデータを機器からそのまま送り返してもらい、エコーバックを確認してから 1文字ずつ確実に送信したほうが良いと思います 受信が間に合わずスタートビットを見逃しているのでしょう。

全文を見る
すると、全ての回答が全文表示されます。
  • crowswork
  • ベストアンサー率63% (7/11)
回答No.1

まずは、以下の条件を教えていただかないと原因を切り分けて確認するための アドバイスもできませんのでよろしくお願いいたします。 ・PCと機器での接続方法   →easycommを使用されているところからするとRS-23SCケーブルなどで接続されているかと思いますが・・・。 ・機器の通信設定 ・PCの通信設定 ・easycommの通信設定

unserious
質問者

補足

機器の通信設定は、easycommの通信設定と同じです。 ec.Setting = "4800,n,8,1" テラタームを同一の設定にすると通信は正常にできます。 PCの通信設定については、どのポイントをお伝えすればよいでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • シリアル通信(送信について)

    現在VB6.0を使用してシリアル通信(RS232C)をMSCOMMを使用して行いたいのですが、受信は出来たのですが、送信がうまくいかない状態です。 MSComm.Output = 送信文字列 & vbCr とすると結果の値を受信できる予定なのですがエラーですという値が返ってきます。 同じ操作をTera Term等で行うと結果が正しく返ってきます。 何故そうなるのかわからない状態で困っております。 何かアドバイス頂けないでしょうか。

  • ■ソケット通信 送信文字列のオーム返し

    こんにちは。Win2000、VB6.0(SP5)でソケット通信をしようと思っています。 接続や、送信・受信をすることはできたのですが、受信したとき、送信文字列も受信され困っています。 <例> 送信:abc 受信:abc    12345(期待する返答) という感じです。 期待する返答の文字数が決まっているので、それ以外はゴミとして扱うこともできるのですが、時々ですが、abc12345のように、送信文字列と受信文字列がくっついてきてしまうこともあり、解決するならしたいと思っています。 telnetでテストすると、オーム返しはありません。 あと、相手の装置には、オーム返しの機能はないそうです。 よろしくお願いします。

  • Thunderbirdで送信すると、文字化けする

    こんにちは。 Thunderbirdで送信すると、相手の方から「文字化け」していると返信が来ました。こちらのほうでは見れてます。OutlookExpressで送信すると文字化けはしないです。送信する際のエンコーダがおかしいのでしょうか? 原因がお分かりになられる方、よろしくお願いいたします。 また、自分の送信したメールが相手先で文字化けしているかしていないかと確かめる方法がありますでしょうか? よろしくお願いします。

  • WindowsAPIでシリアル通信プログラム(RS232C)

    Windowsで、VC++やVBを使わずに普通のC言語で簡単な文字列(コマンド)を外部機器に送信するプログラムを書きたいのですが、WindowsAPIというものの存在は知っているものの全くもって触れたことがありません。 取り合えず、パソコンから外部機器に文字列を送信することが出来ればよいのですが、すぐ実装に役立つような書籍などはありませんでしょうか? VCやVBでシリアル通信プログラムの解説をしている書籍は見つかるのですが、WindowsAPIで行っているものが見受けられません。 もし、ご存知でしたらよろしくお願い致します。

  • 通信遅延の解析方法

    私はネットワーク業務を行っています。 ただし、経験が浅い為、知識不足でトラブル解決ができません。 現在、以下の内容について悩んでいます。 パソコン対パソコンで通信を行う時に遅延の原因が送信側なのか受信側なのかを解析する方法を教えて下さい。 また遅延が発生する原因も教えて下さい。 自分なりに考えたのですが例えば送信側が100Mbps、受信側が10Mbpsで通信していた場合は、遅延が発生し受信側の10Mbpsがボトルネックになると思います。 同じ様に遅延が発生するケース、その原因、原因の解析方法などを教えて下さい。

  • VB2008でのシリアル通信

    VB2008のシリアル通信を使用して、ボタンを押した時にある機器に文字列(ここでは例として\"XXXX\")を送信しようとしているのですが、下記コードでは動作できません。 何がいけないのでしょうか? ボタンクリックのコードは省略 Using com1 As IO.Ports.SerialPort = _ My.Computer.Ports.OpenSerialPort("COM1") com1.WriteLine("XXXX" & vbCrLf) End Using アドバイスや参考URLなどありましたら教えてください。

  • linux環境下のUART通信で文字化けしてしまう

    タイトルの通りになりますが、 現在linuxを搭載した機器(ホスト)とマイコンの間でUART通信を行っており、 一定の条件下で文字化けが発生している状態です。 説明が足りないかも知れませんが、この説明から何か気付く点がありましたら アドバイス頂けたらと思います。 マイコンから通知されるデータには10進形式とバイナリ形式が存在し、 約20ms間隔でマイコンから10数桁の任意のデータを受信し続けます。 バイナリ形式のデータを利用した場合のみ、動作開始から数分経過後、 文字化け発生してしまいます。 この場合、どのような理由が考えられますでしょうか。 バイナリデータの文字列が、任意のデータ列となった場合に限り 予期せぬ動作になってしまっていると推測しているのですが、 途中から文字化けが発生してしまう原因として他に考えられることがあれば、 解析に役立てたいと考えています。 【補足】 ・10進形式のデータだけを利用する場合、正常に動作します。 ・バイナリ形式のデータを利用する場合、数分間は正常動作します。 ・ボーレート、ストップビット等の設定は指定通り行っている認識です。 ・マイコンは別OSでの動作実績があるものです。

  • PIC-PCシリアル通信プログラム

    PICとPCでRS232のシリアル通信を行おうとしているんですけれど、 PICからPCに文字列を送ろうと たとえば PIC側からプログラムで puts("A\0");とデータを送信して ReadFile()関数でPC側で受信しているんですけれど、 受信したデータを画面表示されると Aフフフフフフフフフフフフフフフフフフフフフフフフと表示されてしまいます。 ちなみに送信データをNULLだけにしても フフフフフフフフフフフフフフフフフフフフフフフフフを表示されます。 これを解決する方法がわかりません。 どなたか教えてください。

  • 写真添付メール送信後に文字化けする

    Windows7のWindows live メール2011で、写真添付して送信すると文字化けしてしまう。 写真添付は、Windows liveフォトギャラリーで縮小後にメールに添付してメッセージを作成送信している。 メールは“日本語(JIS)”で、確認のため自分のアドレスに送信した結果では問題なく文字化けせずに 送信されたが、文字が“Uicode(UTF-8)”に変わっており、メールを印刷すると文字化けしてしまう。 印刷前に文字を“Uicode(UFT-8)”→“日本語(JIS)”に変換すると、この時点で文字化けしてしまう。 写真を添付なしでメッセージだけで送信すると問題は発生しない。 繰り返し試行してみたが、原因が判らず改善できません。 このトラブルと関係あるか判りませんが、最近 Internet Explorer 8 から IE-9に変えた以降にこの トラブルが発生したのでは?と考えて、IE-9をアンインストールしてIE-8に戻しましたがトラブルはなくなりません。 解決策についてアドバイスを頂きたくよろしくお願い致します。

  • PCと機器のシリアル通信について

    現在、PCとある機器でシリアル通信を行うための プログラムを作成しています。 開発環境はVisual C++ 2008 Express Editionで、 serialportクラスを使って作成しています。 その機器のマニュアルには、 PCからENQを送信する前に機器からPCに対して DRチェック(通信可チェック) という記述がありました。 これはRS232Cケーブルをつなげば、 自動でやってくれるものなのでしょうか? それともPC、あるいは機器側で何かしなければならないのでしょうか? わかる方、ご教授お願いします。

このQ&Aのポイント
  • PCを初期化したいが、BitLocker回復キーが不明の場合、どのように初期化すればよいか教えて欲しい。型番はPM950SAL。
  • PCのBIOS画面で何かしらの変更をしてしまい、回復キーを要求された。Microsoftアカウントでも回復キーが表示されないため、UEFIファームウェアからのHDD Recoveryも試したが、うまくいかなかった。
  • Microsoftアカウント以外から回復キーを取得する方法や、この状態から初期化を行う方法があるのか知りたい。PCのデータは残さない覚悟がある。
回答を見る