掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
MSCommでの出力を安定化について (ID:122967)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
大間違いでした ×.SThreshold = ComGetStringLen ×.RThreshold = ComSendBuffZero '送信バッファ空でOnComm開始 ○.SThreshold = ComSendBuffZero ○.RThreshold = ComGetStringLen です、これじゃだめなわけだ。 >こちら側はByteモードで受信する必要は無いのですか? バイナリモードの間違いです。 >この部分は適当に書いてますが、相手に合わせてかいかえてますよね。 「かいかえて」ではなく書き換えてです。 何を書いてるのかな、申し訳ない、全て暑さのせいです。(^^; >たとえば"ョp"という出力を得ます。これを"Hex"や"Asc"で数字に変えて計算しています。 要するにバイナリーモードですね。 気を取り直して、1番単純に Private Sub Form_Load() With MSComm1 .RThreshold = 1 .CommPort = 1 .Settings = "9600,n,8,1" .InputMode = comInputModeBinary .PortOpen = True End With End Sub Private Sub cmd_Sen_Click() MSComm1.Output = "G" End Sub Private Sub MSComm1_OnComm() Dim Buffer As Variant Dim Arr() As Byte Select Case MSComm1.CommEvent Case comEvReceive Buffer = MSComm1.Input '<-ブレークポイントを設定 Arr = Buffer End Select End Sub とやって Buffer = MSComm1.Inputのところにブレークポイントを置いて データーがすぐ返って来るか否か試してください。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.