• ベストアンサー

VBによるシリアルポート制御

VB6でシリアルポートからデータを取り込むプログラムを作っています。 データは、バイナリモードで、合計26バイトあります。 これが、20ms間隔で送られてくるデータは、うまく取れたのですが、データを送る間隔を5msにしたところ、うまく受信できないようで、データが表示されなくなってしまいました。 ちなみに20ms間隔の時のシリアルポートのスピード設定が19200bpsで、5ms間隔の時には、115200bpsに変更しています。 VBで115200bpsのポート制御は難しいのでしょうか? それとも、小生のプログラムに問題があるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Pesuko
  • ベストアンサー率30% (2017/6702)
回答No.1

>VBで115200bpsのポート制御は難しいのでしょうか うちの会社では当たり前にやってます。 ボーレートの問題ではなく送信間隔の問題だと思います。 5msに一回ではRTOSではないのでOSの割り込み発生で落とすと思うけど。 10ms程度なら実績はあります。 でも実際にはOSが割り込み出すので、いったん別の機器で受け取って 100レコードほどバッファして、500msに一回程度ブロック転送で 回避してます。

yoppy_mmn
質問者

お礼

回答ありがとうございます。 115200bpsでデータ送出間隔を20msにしてみたところ、問題ありませんでした。 やはり、データの吐き出し間隔のようです。 このソフトウェアには、まだまだ、問題がたくさんありますので、また相談に乗っていただきたく。 よろしくお願いいたします。

関連するQ&A