IC卡设备驱动模块的代码

IC卡设备驱动模块的代码,第1张

  面以我们采用的公用电话机通用的IC卡为例,通过已实现代码来说明整个IC卡设备驱动模块。

  (1)数据结构的确定

  编辑头文件ICDATA.H,确定在驱动模块程序中应用的公用数据结构。驱动模块的最终目的是读取和写入卡数据处理,所以规范整齐的数据结构是必须的。可以定义一个数据结构体来实现卡数据的存储区域、数据地址索引、控制标志位等,如:

  

IC卡设备驱动模块的代码,第2张

  这样在驱动模块中,只需要struct ICDATA iccdata;一条语句便可定义全部的卡处理数据结构定义;而ic_fops则定义了设备 *** 作映射函数结构。从这个数据结构看,我们实现了IC卡设备的打开、读、写和监控函数。

  (2)硬件接口控制线控制子函数

  这些函数用作进行卡复位、时钟等信号的控制。

  

IC卡设备驱动模块的代码,第3张

  以上是以我们开发的硬件系统平台为例的硬件控制接口 *** 作函数之一,用于控制IC卡的复位信号置1。针对不同硬件平台,函数内部 *** 作方法不尽相同。类似的其它 *** 作函数还有:

  

IC卡设备驱动模块的代码,第4张

  (3)模块初始化函数的实现

  

IC卡设备驱动模块的代码,第5张

  模块初始化函数是模块开发过程中必不可少的处理函数,用于实现设备的初始化、中断初始化及处理、设备注册等。在上面函数中,首先应用iniTIcdata(&icdata)实现了卡数据的初始化,然后定义了队列数据。再进行了中断处理函数的绑定、中断申请以及中断初始化。最后实现了IC卡字符设备的申请。设备名为IC。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2478263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-04
下一篇 2022-08-04

发表评论

登录后才能评论

评论列表(0条)

保存