Select Case MSComm1.CommEvent
Case 2
Text1.Text = ""
Dim i
For i = 1 To 30000
DoEvents
Next i
Text1.Text = MSComm1.Input
end select
text1.text是这张卡内的内容
我用的就是这个
Case 2
Text1.Text = ""
Dim i
For i = 1 To 30000
DoEvents
Next i
Text1.Text = MSComm1.Input
end select
text1.text是这张卡内的内容
我用的就是这个
如是是写卡,用什么命令,
你写给我我给你做!!
[email protected]
我只用2磁道。
读2磁道:主机给读写器:ESC ] (1B 5D)
读写器返回主机:
成功:ESC s 磁道2数据? FS (1B 73 磁道2数据 3F 1C)
失败:ESC r q (1B 72 71)
写2磁道:主机给读写器:ESC t 磁道2数据 GS ESC \ (1B 74 磁道2数据 1D 1B 5C)
读写器返回主机:ESC r p/q(p-成功,q-失败)
MSComm1.Opuput=a
就是通过串口写入,但是一般输入信息前有命令参数。
详细信息的看串口设备说明。
那你是怎么写这个程序的呢
可以说一下吗
我只用2磁道。
读2磁道:主机给读写器:ESC ] (1B 5D)
读写器返回主机:
成功:ESC s 磁道2数据? FS (1B 73 磁道2数据 3F 1C)
失败:ESC r q (1B 72 71)
写2磁道:主机给读写器:ESC t 磁道2数据 GS ESC \ (1B 74 磁道2数据 1D 1B 5C)
读写器返回主机:ESC r p/q(p-成功,q-失败)必须要先发出一条读或写指令才能对卡读写,ESC--ESC键,FS--某一键值,上面已经把对应的码写出了,但总是调不通。
怀疑是哪里设置不对:
我设置INPUTEMODE=COMINPUTMODEBINARY
HANDSHAKING=COMXONXOFF
INPUTLEN=0
EOFENABLE=TRUE
RTSENABLE=TRUE
STHRESHOLD=1
RTHRESHOLD=1
SETTINGS="9600,N,8,1"
1.我认为应该收发一个字节就触发ONCOMM事件,但是发出读写信号后没有触发,我还得调用ONCOMM。错误在那里?
2.设成二进制后,是不是收发的数据应该每一个字节触发一次ONCOMM呢,还是全收发完才触发一次ONCOMM?
请高手指点。
请回贴或发信给我,可以另开贴子给分,人在出差中,又没有msdn,又没有写卡器函数,全靠大家帮忙了!
我的信箱:[email protected]
private sub WriteCard()
dim InputData() as byte
根据写入数据长度重定义
redim inputdata(i) 'i为数据和命令字长度
inputdata(0)=&h1b
inputdata(1)=&h74
……
inputdata(i+1)=&1b
inputdata(i+2)=&1d
inputData(i+3)=&5d
MSComm1.outPut=inputdata '无需()
end sub
‘读出时需转换数据类型,否则读出乱码,我用vb6,win2000,磁卡读写器,可以用,不知是否适合你,我在出差,没有源代码,如果不行再联系我好了,[email protected]