课程

课程 讲师

RFID实验部分

购买数
2
课时数
1
浏览数
2521
主讲人:
齐老师
有效期:
自购买之日起永久
优惠价:¥10
原价:¥10
分享

分享到:

手机查看

RFID

一、功能介绍

1、简介

        自2004年起,全球范围内掀起了一场无线射频识别技术(RFID)的热潮,包括沃尔玛、宝洁、波音公司在内的商业巨头无不积极推动RFID在制造、物流、零售、交通等行业的应用。RFID技术及其应用正处于迅速上升的时期,被业界公认为是本世纪最具潜力的技术之一,它的发展和应用推广将是自动识别行业的一场技术革命。而RFID在交通物流行业的应用更是为通信技术提供了一个崭新的舞台,将成为未来电信业有潜力的利润增长点之一。

2、外观

连接到IMX6魔法师Cortex-A系列底板的P9接口。


低频 LF-125K模块                                     高频 HF-13.56M(ISO14443/ISO15693)模块

   

                                                      

image.pngimage.png


超高频 UHF-900M模块                                                         微波有源2.4G模块


image.pngimage.png


二、原理分析

image.png

接口为一个5V电源引脚,一个RX引脚,一个TX引脚,一个GND引脚。

三、串口配置

串口属性描述

串口属于终端设备,其接口属性用termios结构描述,

struct termios {

tcflag_t  c_cflag;  /* 控制标志*/

tcflag_t  c_iflag;  /* 输入标志*/

tcflag_t  c_oflag;  /* 输出标志*/

tcflag_t  c_lflag;  /* 本地标志*/

tcflag_t  c_cc[NCCS];/* 控制字符*/

};

粗略而言,控制标志影响到RS-232串行线(如:忽略调制解调器的状态线、每个字符需要一个或两个停止位等),输入标志由终端设备驱动程序用来控制字符的输入(如:剥除输入字节的第8位,允许输入奇偶校验等),输出控制则控制驱动程序输出(如:执行输出处理、将换行符映射为CR/LF等),本地标志影响驱动程序和用户之间的接口(如:本地回显的开和关等),c_cc数组则包含了所有可以更改的特殊字符。


//定义termios结构

static  struct  termios  oldtio, newtio; 

//打开串口

fd = open(_name, O_RDWR | O_NOCTTY);

tcgetattr(fd,&oldtio);   /* save current modem settings */

//配置

newtio.c_cflag = /*BAUDRATE*/_baud | /*CRTSCTS |*/ CS8 | CLOCAL | CREAD ;    /*ctrol flag*/

newtio.c_iflag = IGNPAR/*| ICRNL*/;  /*input flag*/

newtio.c_iflag &= ~(IXON | IXOFF | IXANY);   /* by sprife*/

newtio.c_oflag = 0;  /*output flag*/

newtio.c_lflag = 0;   /*local flag*/

 newtio.c_cc[VINTR]    = 0;       /* Ctrl-c */

newtio.c_cc[VQUIT]    = 0;      /* Ctrl-\ */

newtio.c_cc[VERASE]   = 0;      /* del */

newtio.c_cc[VKILL]    = 0;      /* @ */

newtio.c_cc[VEOF]     = 4;       /* Ctrl-d */


newtio.c_cc[VTIME]    = 0;        /*timeout*/

newtio.c_cc[VMIN]     = 1;   /*minimum byte*/ 



newtio.c_cc[VSWTC]    = 0;       /* '\0' */

newtio.c_cc[VSTART]   = 0;       /* Ctrl-q */

newtio.c_cc[VSTOP]    = 0;       /* Ctrl-s */

newtio.c_cc[VSUSP]    = 0;       /* Ctrl-z */

newtio.c_cc[VEOL]     = 0;       /* '\0' */

newtio.c_cc[VREPRINT] = 0;       /* Ctrl-r */

newtio.c_cc[VDISCARD] = 0;       /* Ctrl-u */

newtio.c_cc[VWERASE]  = 0;       /* Ctrl-w */

newtio.c_cc[VLNEXT]   = 0;       /* Ctrl-v */

newtio.c_cc[VEOL2]    = 0;       /* '\0' */


tcflush(fd, TCIFLUSH);

tcsetattr(fd,TCSANOW,&newtio);  /*set attrib*/

讲师信息

齐老师

齐老师

Linux|应用开发..
粉丝:1
拥有多年Linux开发经验,精通Linux C,参与过多个大型Linux项目开发。
×

分享成功,快去个人中心查看吧~~~

祝您:学习愉快 !

确 定
×

加入我的看单

该课程需要加入我的看单后方可学习,确定加入?

确 定 取 消
关注官方微信