引用 | 编辑
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 |