Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
シリアル通信 初心者
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=24889#CommentId65405
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
YUU
 (社会人)
投稿日時
2015/8/14 12:13:13
>PC側アプリで、電文の内容を確認後、
やはり何らかの形で返答する必要があったのですね・・・。ハンドシェイクについての理解が足りていないようです。
通信内容はハンドシェイク設定の場合
<機器> <アプリ>
<STX>テキスト<ETX><BCC> → アプリケーション受信
<ACK>または<NAK> ←
<EOT> →
1データのみの場合はこのようなやり取りのようです。
無手順設定の場合は垂れ流しの状態で受信ができたので注視していませんでした。
ハンドシェイク設定でも一文は取得できると思い受信ができてから次の処理と考えていたのです。
テキストの長さは100文字。項目ごとに区切りがあり決まりもあるのですがそれらは無手順と変わりないので
判定の方はできております。
Dim strDataReceived As String
Dim intSTR As Integer
Dim chrDATA As String
strDataReceived = SerialPort.ReadExisting
intSTR = Len(strDataReceived)
For i As Integer = 1 To intSTR
chrDATA = Mid(strDataReceived, i, 1)
Select Case chrDATA
Case Chr(STX)
Case Chr(ACK)
End Select
Next i
↑の様に制御コードを取得し取得出来次第処理をかけるという感じなのでしょうか?
<BCC>というものがよくわからずどのタイミングで正否の応答を返すものなのでしょうか?