引用 | 編輯
woandy
2008-08-18 17:50 |
樓主
▼ |
||
x0
我有一台廠商提供的設備 設備的說明如下: -------------------------------------------------------------------------- 設定: 8 data bits no parity bit generated or checked 1stop bit selectable BAUD rates ranging form 9600 BAUD 操作指令: ASCII DATA Hex CodeS Description ' 60 .. 訪客只能看到部份內容,免費 加入會員 x0
|
引用 | 編輯
mixccc
2008-08-18 22:44 |
1樓
▲ ▼ |
請確認你的port是COM1
廠商除了提供設備,也要有手冊! Private Sub Form_Load() MSComm1.CommPort = 1 MSComm1.Settings = "9600,n,8,1" 'MSComm1.InputLen = 0 MSComm1.PortOpen = True End Sub Private Sub Command1_Click() MSComm1.Output = Chr(96) & Chr(13) End Sub x0 |
引用 | 編輯
三仙
2008-08-19 20:27 |
2樓
▲ ▼ |
不好意思,我的NB沒有COMPORT可以測試
但你這行 ByteArray(0) = H60 'cut 是不是應該這樣 ByteArray(0) = &H60 'cut 以下這篇連結供你參考,裡面有範例 http://bbs-mychat.com/read.php?tid=170069&keyword=mscomm x0 |
引用 | 編輯
woandy
2008-08-19 21:25 |
3樓
▲ ▼ |
不好意思 首先 謝謝你們的回應
第1 是 COM1 沒錯的 第2 廠商給的手冊 就只有如上列所附的指令 另外一個朋友的回應也謝謝你 上面是我少打的 & 十分抱歉 x0 |
引用 | 編輯
三仙
2008-08-19 22:29 |
4樓
▲ ▼ |
下面是引用woandy於2008-08-19 21:25發表的 : 不客氣 我想你那個廠供的設備 應該是輸出後處理的吧 因為沒有看到相關INPUT的屬性 如果樓主問題解決了 還請不吝分享給大家 x0 |
引用 | 編輯
woandy
2008-08-20 00:45 |
5樓
▲ ▼ |
下面是引用三仙於2008-08-19 22:29發表的 : 謝謝你 問題還沒有解決 ( 泣~~~ 不知道為什麼 都沒有反應 ˊˋ 我試過短路 2.3腳 看看 傳回的資料是否正確 應該是沒錯 ˊˋ 廠商的設備附上的指令其實很少 主要用到的就是我上面貼的哪二個 一個是 CUT 一個是 ENTER 另外還有幾個如下 ASCII Data Hex Codes Description | 7C Divent output to display \ 5C Divent output to tag ^ 5E Wait for key 當執行 ByteArray(1) = &H7C MSComm1.Output= ByteArray 我用一個TEXT 收值 收到的值 就是 | 當執行 ByteArray(1) = &H60 MSComm1.Output= ByteArray 收到的值 是空白 我現在在想的是 是不是 收到的值 也要是 16進位的才會有作用 ˊˋ x0 |
引用 | 編輯
三仙
2008-08-20 09:41 |
6樓
▲ ▼ |
下面是引用woandy於2008-08-20 00:45發表的 Re: : 你宣告使用位元組陣列 來處理16進位的格式 所以只要雙方均遵守相同的規定就可以 x0 |
引用 | 編輯
woandy
2008-08-20 15:34 |
7樓
▲ ▼ |
我也覺得 應該沒錯阿
為啥都不動呢..... 為什麼.....為什麼.....為什麼.....為什麼.....為什麼..... x0 |
引用 | 編輯
三仙
2008-08-20 16:20 |
8樓
▲ ▼ |
程式看起來都沒錯
但總覺得在 MSComm1.Output= ByteArray 少了vbCr復位字元 例MSComm1.Output= ByteArray & vbCr 我記得不管是送出字串還是位元組 結尾的復位字元是一定要的 請再試試 下面是引用woandy於2008-08-20 15:34發表的 : x0 |
引用 | 編輯
woandy
2008-08-20 23:06 |
11樓
▲ ▼ |
真是感謝各為大大熱情回應....
最後我把整台機器都拆了... 然後還把主機板拆下來研究 最後發現應該是他的主機板有問題 跟廠商拿了一塊備品之後..... 果然可以正常使用了... 指令下達方式如下: Private Sub Command1_Click() Dim ByteArray() As Byte ReDim ByteArray(2) ByteArray(0) = &H5C ←Divert output to tag ByteArray(1) = &H46 ← 打算要印的字 ByteArray(2) = &HD ←ENTER MSComm1.Output = ByteArray End Sub x0 |
引用 | 編輯
mixccc
2008-08-21 23:35 |
13樓
▲ ▼ |
所以...你用的並不是COM1...
而是"COM落去",呵~~~ 如果是輸出不正常,用電表量一下輸出電壓,也是可以的. 下面是引用woandy於2008-08-20 23:06發表的 : x0 |