非接触式IC卡读卡器,com口通讯,RS232,请问怎么用c++编程?查到包含WinSCard.h,可以调用一些函数,但是

非接触式IC卡读卡器,com口通讯,RS232,请问怎么用c++编程?
查到包含WinSCard.h,可以调用一些函数,但是这个好像是用USB通讯的。用COM口是不是就是设置好波特率、停止位什么的,然后直接向串口发命令啊?
VS2010有没有API来实现串口通讯的IC卡操作??
这个编程一般需要几步啊???

就你提的问题,首先有几个概念你要先弄清楚:
1、开发环境和语言:这个当然有很多,像你说的VS2010就是其中之一;
2、串口通信操作API:当然这个依赖于1,即你选的开发环境,如果在VS2010中,则Windows系统有一组用于串口操作的API;如果换了别的环境,如Linux系统,则有另一组API,这些是由操作系统本身提供的;
3、读卡器协议:上述两个问题解决了,就可以使用串口通讯,也就是向读卡器发数据,但是你发的数据读卡器如何解读,就要依赖于读卡器的协议了,这个一般由读卡器厂商提供,往往会为开发者提供一组用户读卡器二次开发的SDK。使用它们就可以操作读卡器了。
当然有些厂商的SDK会直接使用一种语言将2封装到提供的SDK中,这样会大大简化用户的开发。
此外,如果没有厂商提供的SDK,理论上只要知道读卡器协议也能操作IC卡。甚至在某些情况下,不知道读卡器协议,也可以通过破解其协议,达到操作IC卡的目的。追问

1.我打算在VS2010中用c++开发,读卡器是通过串口RS232与计算机连接的。我从网上下了一个mwrf32.dll,里面有一些函数,这个好像是串口需要的函数,是不是我调用这些函数就行了???
2.另外还有包含一个WinSCard.h的,再加上WinSCard.lib,这个里面也有一些函数,这个是不是用USB通讯所需要的函数?
3.IC卡种类也有好多,是不是要根据某一特定种类编写?

追答

1、mwrf32.dll我不知道你这个动态库是干什么,你可以使用view dependency看看里面的函数
2、winscard.h加WinSCard.lib就是通常说的SDK,这里面应该包含了操作读卡器的函数,你可以仔细看看里面的内容。
3、是的,不过你最好选择一些通用的,非加密的卡,这样会简单些,然后再根据需要改进。

PS:我以前开发的一个IC卡操作程序,没有使用专门的串口操作函数,完全使用厂家提供的SDK,即.h文件和.Dll文件。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-21
有些函数可以实现串口控制,不过我习惯用MFC。你的IC卡读卡器是串口的吧。
第2个回答  2013-08-21
1、选择一款单片机与读卡器通讯,鉴于您这种,51单片机可以了。
2、读卡器与单片机之间是232通信的话配置好就可以让单片机获取到读卡器的信息
3、用VS2010开发一个高端软件,可以使用C#语言来做,有串口API。这样就可以实现交互了。
相似回答