はじめまして、VB初心者です
RS-232Cでテスタから電圧値をとりこみたいのですが、テスタからは
データが垂れ流し状態です。
一回の測定データ(一まとまりのデータ)は11個のパッケージで
構成されており、1つのパッケージは
・スタートビット(1bit)
・データビット(7bit)
・パリティチェックビット(1bit)
・ストップビット(1bit)
で構成されています。
また、一まとまりのデータは最後の二つ(10,11番目のパッケージ)は
・CR
・CF
なのですが実際にデータを取り込むと
改行コードはテキストとしては取り込めず
改行されてしまうだけです。なので、データの終わりが判断することができず
どこからどこまでが一まとまりのデータか決められません。
そこで、このCR,CFをテキストとして取り込むことができないか、
または、他にいい方法がないか、よろしければ御教授お願いします。
if MSComm1.InputMode = 0 Then
Value = MSComm1.Input
Text1.Text = Text1.Text + Value
Value3 = Value3 + Value
End If
CFって何ですか?
LFのことでしょうか。
またCRやLFというのはどういうものと思っていらっしゃるんでしょうか?
その辺の理解度によって回答も変わってくると思いますので。
失礼しました
LFの間違いです。
テスタのプロトコルには
CR:Transmission code"0001101"
LF:Transmission code"0001010"
と記述があるのですが、プログラムを実行すると
上記の記述(テキストとして取り込む場合何らかの記述が返ってくると
思っていたのですが)
はテキストとして返らないで、自動的に改行されます。
本来の動作はそのようなものだと思うのですが、
このCR,LFを文字列として、取り込めないかという
風に考えているのですが…
Text1.Text = Text1.Text + Value
の後に以下のコードを追記してみてください
ちゃんとCR(0x0D)LF(0x0A)が入ってることが確認できると思います。
Dim i as Integer
For i=1 To Len(Text1.Text)
Debug.Print Hex$(Asc(Mid$(Text1.Text,i,1)))
Next
それが分かれば自由に文字に置き換えることができますね。
MMさん、ありがとうございます!
見れるようになりました。
これを使って、組んでみます。