cash code 是一套纸币识别器,由于项目需要,决定使用C#开发,应用。网上资源奇缺,清如许工作室首发
首先从 http://www.cnblogs.com/tuyile006/archive/2006/09/25/514327.aspx 下载 C# com 口通信代码
波特率:9600
下面是返回代码对应含义
一块
02 03 07 81 00 54 2A
五块
02 03 07 81 02 46 09
十块
02 03 07 81 03 CF 18
二十块
02 03 07 81 04 70 6C
五十块
02 03 07 81 05 F9 7D
一百块
02 03 07 81 06 62 4F
复位 02 03 06 00 C2 82
重置 02 03 06 30 41 B3
收钱 02 03 06 33 DA 81
纸币类型 02 03 06 41 4F D1
识别机器 02 03 06 37 FE C7
以下是全部源码:
//收钱事件
private void poll_Click(object sender, EventArgs e)
{
t = new Thread(new ThreadStart(Poll));
t.IsBackground = true;
t.Start();
}
//收钱方法
public void Poll()
{
//重启
t_send.Text = "02 03 06 30 41 B3";
byte[] temp1 = mysendb();
SendPackage(temp1);
/
t_send.Text = "02 03 06 37 FE C7";
temp1 = mysendb();
mycom1.Write(temp1);
msg.AppendText("\r\n发送数据包:" + dis_package(temp1));
t_send.Text = "02 03 06 41 4F D1";
temp1 = mysendb();
mycom1.Write(temp1);
msg.AppendText("\r\n发送数据包:" + dis_package(temp1));
/
string temp = "";
while ("02 03 06 19 82 0F "!=temp)
{
//申请接收
t_send.Text = "02 03 06 33 DA 81";
temp1 = mysendb();
mycom1.Write(temp1);
msg.AppendText("\r\n发送数据包:" + dis_package(temp1));
Thread.Sleep(50);
temp = dis_package(mycom1.Read(50));
msg.AppendText("\r\n接收到数据包:" + temp);
}
//收钱主要
t_send.Text = "02 03 0C 34 FF FF FF 00 00 00 B5 C1";
temp1 = mysendb();
SendPackage(temp1);
//
while (true)
{
Thread.Sleep(80);
if ("02 03 06 14 67 D4 " != temp && "02 03 06 15 EE C5 " != temp && "02 03 06 17 FC E6 " != temp)
{
//计算钱数
switch (temp)
{
case "02 03 07 81 00 54 2A ": money += 1; break; //一块
case "02 03 07 81 02 46 09 ": money += 5; break; //五块
case "02 03 07 81 03 CF 18 ": money += 10; break; //十块
case "02 03 07 81 04 70 6C ": money += 20; break; //二十块
case "02 03 07 81 05 F9 7D ": money += 50; break; //五十块
case "02 03 07 81 06 62 4F ": money += 100; break; //一百块
}
button14.Text = "金额:" + money + "元";
}
if("" == temp)
{
//申请接收
t_send.Text = "02 03 06 33 DA 81";
temp1 = mysendb();
mycom1.Write(temp1);
msg.AppendText("\r\n发送数据包:" + dis_package(temp1));
Thread.Sleep(50);
temp = dis_package(mycom1.Read(50));
msg.AppendText("\r\n接收到数据包:" + temp);
}
else if ("02 03 06 14 67 D4 " == temp)
{
if ("02 03 06 19 82 0F " ==temp)
{
//收钱主要
t_send.Text = "02 03 0C 34 FF FF FF 00 00 00 B5 C1";
temp1 = mysendb();
SendPackage(temp1);
}
//申请接收
t_send.Text = "02 03 06 33 DA 81";
temp1 = mysendb();
mycom1.Write(temp1);
msg.AppendText("\r\n发送数据包:" + dis_package(temp1));
Thread.Sleep(50);
temp = dis_package(mycom1.Read(50));
msg.AppendText("\r\n接收到数据包:" + temp);
}
else
{
//申请接收2
t_send.Text = "02 03 06 00 C2 82";
temp1 = mysendb();
mycom1.Write(temp1);
msg.AppendText("\r\n发送数据包:" + dis_package(temp1));
Thread.Sleep(50);
temp = dis_package(mycom1.Read(50));
msg.AppendText("\r\n接收到数据包:" + temp);
}
}
//
}