飞凌6410开发板通过USB Reader读卡器读取IC卡ID(Linux源代码)

飞凌6410开发板通过USB Reader读卡器读取IC卡ID(Linux源代码)

ID:40732523

大小:38.95 KB

页数:4页

时间:2019-08-06

飞凌6410开发板通过USB Reader读卡器读取IC卡ID(Linux源代码)_第1页
飞凌6410开发板通过USB Reader读卡器读取IC卡ID(Linux源代码)_第2页
飞凌6410开发板通过USB Reader读卡器读取IC卡ID(Linux源代码)_第3页
飞凌6410开发板通过USB Reader读卡器读取IC卡ID(Linux源代码)_第4页
资源描述:

《飞凌6410开发板通过USB Reader读卡器读取IC卡ID(Linux源代码)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、代码原理:    USBReader虽然是USB接口,但是大多数是模拟键盘输入的。    因此,可以通过open("/dev/tty0".....)这个系统函数打开设备。   那么就可以像读取文件一样读取IC卡的ID。 要点注意:   由于开发板上Linux驱动的不同,因此键盘可能会产生多个字节的扫描码(最多可能有6个)。因此程序要进行过滤。   例如:过滤【键盘码】>128的值。              在Linux下,键盘码值(1~127),释放键(KeyUP)的值为【键值】+128   

2、           即:  键盘码=10,则释放键=10+128             如果仅仅是转换0~9这几个值,可以采用下面的算法            intkey= '0' +【键盘码值】-1;//Reader.h#ifndefREADER_H#defineREADER_H#include#include#includeintOpenReader(char*dev){   intReader_Fd=-1;   Reader_F

3、d=open(dev,O_RDWR);   returnReader_Fd;}voidCloseReader(intfd){   close(fd);}intReadId(intfd,char*id_buf,intlen){   unsignedcharkey[5];   unsignedcharK;   inti=0;   do   {     K=0;     if(read(fd,key,4)>0)     {       if(key[0]<128)       {          i

4、d_buf[i++]='0'+key[0]-1;          K=key[0];       }     }     if(i>len)i==0;   }while(K!=28);   id_buf[i-1]='';   return1;}#endif//READER_H //主程序#include"reader.h"intmain(intargc,char*argv[]){   intreader_fd;   charbuf[32];   if((reader_fd=OpenRead

5、er("/dev/tty0"))==-1)   {       puts("OpenDevError!r");   }   while(1)   {       if(ReadId(reader_fd,buf,32)==1)       {           printf("ReadID=%sr",buf);       }   }   CloseReader(reader_fd);   return0;} 程序运行效果:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。