代码为上课练习使用的RFID读卡器使用!
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.IO.Ports; using System.Collections; using System.Runtime.InteropServices; using ISO15693DLL;/*引用命名空间!*/ namespace RFID读写 { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> public partial class MainWindow : Window { ISO15693DLL.ISO15693Reader reader = new ISO15693DLL.ISO15693Reader();/*创建实例*/ int a = 0;/*定义一个变量用于后方判断读取成功提示信息框的数量。*/ public MainWindow() { InitializeComponent(); MessageBox.Show("欢迎使用本读卡器 V0.0.1 Betan当前仅支持ISO15693卡片读取nMade by Cjw", "Cjw提示", MessageBoxButton.OK, MessageBoxImage.Information); } private void RB_ck_Click(object sender, RoutedEventArgs e) { if(RB_ck.IsChecked==true)/*判断串口单选框是否被选定,如果被选定则将按钮内容修改*/ { Button_Open.Content = ("打开串口"); Button_Close.Content = ("关闭串口"); } } private void RB_USB_Checked(object sender, RoutedEventArgs e)/*判断USB单选框是否被选择,如果被选择,则按钮内容修改。*/ { if (RB_USB.IsChecked == true) { Button_Open.Content = ("打开USB口"); Button_Close.Content = ("关闭USB口"); } } private void Button_Open_Click(object sender, RoutedEventArgs e) { /*判断,如果当前选定为串口,因为我没有写串口,所以,报错!*/ if(Button_Open.Content.ToString()=="打开串口") { MessageBox.Show("当前暂时不支持串口功能!","Cjw提示",MessageBoxButton.OK,MessageBoxImage.Error); } else /*打开的是USB口,如果返回0x00则为成功,否则失败*/ if(reader.OpenHIDDevice()==0x00) { MessageBox.Show("打开USB口成功","Cjw提示",MessageBoxButton.OK,MessageBoxImage.Information); Button_Open.Content = "USB口已打开"; Button_Open.IsEnabled = false; Button_Close.IsEnabled = true; Button_Read.IsEnabled = true; } else MessageBox.Show("打开USB口失败n请检查数据线是否连接好", "Cjw提示", MessageBoxButton.OK, MessageBoxImage.Error); } private void Button_Read_Click(object sender, RoutedEventArgs e) { /*定义一个变量用于存放返回卡片的数量*/ Int32 TagCount=0; /*定义一个字符串*/ String[] TagNumber = new String[1]; if (reader.Inventory(ModulateMethod.ASK, InventoryModel.Single, ref TagCount, ref TagNumber)==0x00) { Card_Numberbox.Text=TagNumber[0]; if (a == 3) Mess.Visibility = Visibility.Visible; if (Mess.IsChecked==false) MessageBox.Show("读取成功!", "Cjw提示", MessageBoxButton.OK, MessageBoxImage.Information); CardId.Items.Add(DateTime.Now.ToLongTimeString().ToString()+" "+TagNumber[0]); a++; } else { MessageBox.Show("读取失败!n请检查卡片是否放稳或卡片协议是否为ISO15693", "Cjw提示", MessageBoxButton.OK, MessageBoxImage.Error); Card_Numberbox.Text = ("读取失败!请检查卡片是否放稳!"); } } private void Button_Close_Click(object sender, RoutedEventArgs e) { if(Button_Close.Content.ToString()=="关闭USB口") if (reader.CloseHIDDevice()==0x00) /*同理,调用关闭USB口方法,*/ { MessageBox.Show("关闭USB口成功", "Cjw提示", MessageBoxButton.OK, MessageBoxImage.Information); Button_Open.Content = "打开USB口"; Button_Open.IsEnabled = true; Button_Close.IsEnabled = false; Button_Read.IsEnabled = false; } else MessageBox.Show("关闭USB口失败", "Cjw提示", MessageBoxButton.OK, MessageBoxImage.Error); } private void Button_Click(object sender, RoutedEventArgs e) { Clipboard.SetDataObject(Card_Numberbox.Text); MessageBox.Show("已成功复制到剪贴板!", "Cjw提示", MessageBoxButton.OK, MessageBoxImage.Information); } } }
最后
以上就是善良早晨最近收集整理的关于RFID读写---RFID读卡的全部内容,更多相关RFID读写---RFID读卡内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复