作者ujm8ik (隨遇而安)
看板Visual_Basic
標題[VB6 ] 想問一下RS232的接收
時間Wed Mar 7 13:10:34 2012
各位大大好 小弟是剛學習VB6 但就要使用RS232作通訊的新手
想問一下各位大大 為何接收時 會出現多的0的資料
Dim SendCommand(6) As Byte
Dim ReceiveCommand() As Byte
Dim i As Integer
Dim Buf$
Buf = ""
SendCommand(0) = 2
SendCommand(1) = 1
SendCommand(2) = 82
SendCommand(3) = 14
SendCommand(4) = 8
SendCommand(5) = SendCommand(1) + SendCommand(2) + SendCommand(3) +
SendCommand(4)
SendCommand(6) = 3
MSComm1.Output = SendCommand '送資料
ReceiveCommand = MSComm1.Input
For i = LBound(ReceiveCommand) To UBound(ReceiveCommand)
Buf = Buf + Hex(ReceiveCommand(i)) + Chr(32)
Next i
List1.AddItem Buf
這是我的部分程式碼 上面的SEND 是在寫傳輸格式
在接收時 每筆資料的中間都會多出現一個0
想問一下大大 這樣的問題是出現在哪?
還有就是在作RS232通訊時 有沒有什麼要特別注意的地方
或是有什麼小撇步可以參考使用的
以上~~ 麻煩大大幫我檢查一下了~~ 感恩
--
有一個香錦囊,是從一個神話般的守軍的血屍頂上剝下的,那一次我們部隊
遭受了從未有過的頑強抵抗,我們犧牲了三個艦隊,一個裝甲師和無以數計小組
推進的敢死排,才摧毀了那處隘口的碉堡。但是竟然發現,使我們遭受如此慘烈
傷亡的守軍,總數只有一人。士兵們起鬨地在他胸前發現這枚香袋,大家都相信
這是一枚具有神奇力量的護身符。我們把他的頭顱砍斷,取下香袋,剝開,裡面
一張被血浸紅的宣紙竟用漢字娟娟秀秀四個整齊的楷書寫著,[盼君早歸。]
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.165.235
※ 編輯: ujm8ik 來自: 140.117.165.235 (03/08 10:46)
1F:→ asneo:建議你用.net寫~ 03/08 22:26
2F:→ ujm8ik:痾 .NET是什麼東西@@? 03/09 10:15
3F:推 serhgrt:一樓的大大是希望你用VB.NET去寫~另偵錯數值看看吧! 03/09 17:21
4F:推 troylee:SendCommand 你指宣告 6, 但是你用了7個? 03/09 22:36
不是這樣子嗎? 還有就是字串阿 怎麼分解成數值阿 像我16進位的 D24
要轉換成 0D 跟24 兩個BYTE放進去作傳送 可是都會出現錯誤@@
對於變數的型態跟傳送的狀態實在是很弱>"< 可以指導一下嗎? 感恩~~
value1 = Val(Text9.Text) * 100
value2 = Hex(value1)
If Len(value2) > 0 Then
value4 = Right(value2, 2)
value3 = Left(value2, Len(value2) - 2)
End If
value3跟4都宣告成整數 不能存@@ 他說資料型態不符 可是不是都是存數字嗎?
5F:→ MOONRAKER:left() right()輸出什麼時候是整數了 03/11 17:06
6F:→ MOONRAKER:你就算help不看 MSDN好歹也看一看吧 03/11 17:07
對不起>"< 不是我不看 是因為我版本的問題 MSDN不存在...冏
※ 編輯: ujm8ik 來自: 140.117.165.235 (03/12 09:57)
7F:→ MOONRAKER:可以上線看。 03/12 16:15