• 締切済み

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

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

みんなの回答

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

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

unserious
質問者

補足

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

すると、全ての回答が全文表示されます。
  • koujikuu
  • ベストアンサー率43% (429/993)
回答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