拼了…300点…..只要能给我个范例(300分)

  • 主题发起人 主题发起人 jojoboy
  • 开始时间 开始时间
J

jojoboy

Unregistered / Unconfirmed
GUEST, unregistred user!
客户丢了个机器给我….
就要我能和这台机器作联系….
但我一点都没经验
不知有没有前辈可以参考原厂文件,然后写个范例让我参考
机型是Visual Card Reader/Writer MCP300
文件位置如下
ftp://www.star-micronics.co.jp/pub/usermanual/mcp300pm.pdf
Thanks~
mail:
jojo8865@yahoo.com.tw
 
我没装PDF浏览器, 不过这种东西一般是串口通讯的吧.
 
全英文的 啊,我得漫漫看了!!
 
有时间,我帮你看一下,我写过好多
 
谢谢前辈们的帮忙…….
希望有前辈能帮忙晚前渡过这个难关
Thanks
 
范例是不需要了吧。
这个东西很明白是串口通信的IC卡读写器(见第九页图中第七)。
一般现在搞串口通信都是使用控件象MSCOMM,CommportDriver等。
注意看第六章,这一章是讲串口通信的控制码和返回码。
如果对串口通信不太熟悉可以看看某人写的《Delphi串口通信编程》或有关资料。
(另:金山词霸2002可以在Acrobat中使用屏幕取词的功能。)
 
今天试了一下,写了以下的程序代码….
但机器还是没有反应….
不知道是为什么????
var s:string;
bcc:integer;
begin
bcc:=($5F xor $03);
s:=chr($02)+chr($5F)+chr($03)+chr(bcc);
VaComm1.Open;
VaComm1.WriteText(s);
VaComm1.Close;
end;
不知道是根本就写错了….还是有什么其它的原因…..
不知道有那位前辈可以指导….
 
to jojoboy:
你的代码基本上好像没有问题,只是有些地方不太明了
1、你好象使用TVaComm做串口通讯的控件,偶对这个不熟。
2、你传送数据的时候使用String类型和偶的习惯不同
(偶使用s: ^Byte类型或动态数组S: array of Byte)。
3、你发送完数据后就好像关闭了端口(VaComm1.Close;),那样就无法监听端口了。
4、你好像没有写一段代码关于处理端口返回的数据。
5、串口的速率、数据位、停止位、奇偶校验等都是需要符合的不知道你有没有设置正确。
文档的第五章是说有两组跳线是关于这个的。
 
有誰能幫幫我呢....
 
一般机器除了open应该还有个初始化,再看看资料。
 
哥们你的vacomm有源码吗,如有烦劳发份给我,谢了!
lotusleaf_m@sina.com
另外,串口打开后要过几十毫秒才可以正常通讯,建议:
vacomm1.open;
sleep(100);
VaComm1.WriteText(s);
 
这样看看,

var s:string;
bcc:integer;
begin
bcc:=($02 xor $5F xor $03 xor $03);
s:=chr($02)+chr($5F)+chr($03)+chr(bcc);
VaComm1.Open;
VaComm1.WriteText(s);

bcc:=($02 xor $50 xor $03 xor $03);
s:=chr($02)+chr($50)+chr($03)+chr(bcc);
VaComm1.WriteText(s);

VaComm1.Close;
end;
 
机器还是没有反应….
不知道是为什么????
 
var s:string;
[red] bcc:Byte;[/red] //这样改看看

begin
bcc:=($02 xor $5F xor $03 xor $03);
s:=chr($02)+chr($5F)+chr($03)+chr(bcc);
VaComm1.Open;
VaComm1.WriteText(s);

bcc:=($02 xor $50 xor $03 xor $03);
s:=chr($02)+chr($50)+chr($03)+chr(bcc);
VaComm1.WriteText(s);

VaComm1.Close;
end;
 
没用过VACOMM...

请贴出VACOMM1.WRITETEXT事件定义.

不相应,可以采用一些串口测试软件先测试你发送的是否符合协议,如果成功,说明你写的程序有问题.
 
后退
顶部