100ASK_IMX6ULL arm板子如何移植刷卡器

100ASK_IMX6ULL arm板子如何移植刷卡器最近为了在arm板子上移植刷卡器,比较简单,但也遇到了坑,现在和大家分享下。 一口君一共买了4种刷卡器,有2种可以用,还有2种不能用。 下图为最方便的一款,一口君选的是ID卡。 要不即使和这个刷卡器一样,也可能无法使用,切记。 价格大概45左右,不要买18块左右的,如果怕买错,…

最近为了在arm板子上移植刷卡器,比较简单,但也遇到了坑,现在和大家分享下。

购买刷卡器

某宝很多,应该选哪一种呢? 一口君一共买了4种刷卡器,有2种可以用,还有2种不能用。 下图为最方便的一款,一口君选的是ID卡。

为了避免做广告嫌疑,就不贴购买链接了,但是切记: 一定要买带serial芯片的,比如ch341或者rs232 要不即使和这个刷卡器一样,也可能无法使用,切记。 在这里插入图片描述 价格大概45左右,不要买18块左右的,如果怕买错,就给一口君留言。

移植USB转串口驱动

进入内核找到对应的USB转串口驱动,位置如下: 驱动位置选中该驱动 ch341驱动 保存退出,重新编译内核。 【如果是其他型号的串口,请选择对应的驱动】

测试设备

下载编译好的内核到开发板(一口君是通过nfs挂载然后拷贝到/boot目录下),重启后插上刷卡器,看到

ch341-uart converter now attached to ttyUSB0

就成功一半了。 驱动会自动为该串口创建该字符设备,我们只需要像操作普通字符设备一样就可以使用该刷卡器了。 识别刷卡器

查看字符设备节点

该字符设备节点位于/dev/ttyUSB0,由该字符设备节点信息可知该字符设备主设备号188,次设备号为0。 设备节点

编写测试程序

编写测试程序思路很简单,

  1. 通过open函数打开字符设备ttyUSB0
  2. 通过函数ioctl设置对应参数,波特率9600,数据位数8,奇偶校验位0,终止位1。
  3. 通过read函数可以阻塞的读取卡号了。

文件目录结构如下: 在这里插入图片描述 card.c

  1 #include <stdio.h>
  2 #include <unistd.h>
  3 #include "IC_serial.h" 
  4 void main(void) 5 {
  6     int i;
  7     int fd;
  8     char buf[32]={0};
  9     
 10     open_port(&fd);
 11     uart_init(fd);
 12     
 13     for(i=0;i<20;i++)
 14     {
 15         read_from_serial(fd,buf);
 16         printf("card:%s\n",buf);
 17     }
 18 }

交叉编译:

arm-linux-gnueabihf-gcc *.c -o run

运行结果如下: 执行结果

完整代码,关注公众号,后台回复 card。

本文使用 mdnice 排版

今天的文章100ASK_IMX6ULL arm板子如何移植刷卡器分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/16525.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注