タイトル : 受信バッファのクリア 投稿日 : 2011/09/25(Sun) 16:09 投稿者 : Boon
VB6です。 PC1-変換器-PC2と接続しておいて、 PC1よりデータを変換器経由でPC2へ送信し、 PC2は受信データを変換器経由でPC1へ返信する・・・ということをしています。 VB6でMSCommを使って、PC1、PC2側の送受信プログラムを作りました。 PC1-変換器-PC2の電源をONしておいて (PC1,PC2のプログラムを起動する前に) 変換器の電源のみ、ON/OFFを何回か繰り返すと PC2の受信バッファに何かゴミが貯まるようです。 これ自体はしかたないことですが、 PC1,PC2のプログラムを起動したら、最初に mscPort.OutBufferCount = 0 '--- 送信バッファのクリア。 mscPort.InBufferCount = 0 '--- 受信バッファのクリア。 としてもゴミをとることができません。 PCのシステムとして MSCommのバッファ、通信ICのバッファとあると思うので MSCommのバッファのクリアをしても 通信ICのバッファ内にゴミが残っているのかな? と想像しているのですが・・・。 完全にゴミをとる方法を教えてください。 オシロで見ると、 PC1がAという1バイトを送信するとPC2には正しくAを送信されているのですが PC2はxAとという2バイトを返信します。 このxがゴミと思われるのです。 この動作を1回したあとは、全く正常に送信、返信されています。 |