设置串口设备之前,需要先获取当前串口设备的属性,这是因为结构体termios的成员都是和特定寄存器对应的,如果不先获取以前的状态,可能将寄存器中的值全部覆盖,从而导致通信失败,并且在操作完串口设备以后,需要将串口设备的属性恢复到以前的值。获取当前串口设备属性的过程如下:
tcgetattr(fd,&new_cfg); / /从f d代表的串口设备中获取当前的状态并将其保存在new_cfg中。
接下来是将串口设备设置为原始模式,在本系统中需要使用原始模式进行通信。
cfmakeraw(&new_cfg);
将串口通信的字符大小设为8个字符new_cfg.c_cflag &= ~CSIZE;
new_cfg.c_cflag |= CS8;
设置波特率
cfsetispeed(&new_cfg,BARDRATE); / / 设
置输入波特率
cfsetospeed(&new_cfg,BARDRATE); / / 设
置输出波特率
差模电感设置奇偶校验位,不适用奇偶校验
new_cfg.c_cflag &= ~PARENB;
new_cfg.c_iflag &= ~INPCK;
设置停止位,使用一个byte
new_cfg.c_cflag &= ~CSTOPB;
设置读取字符大小以及等待时间
new_cfg.c_cc[VTIME]=50; //两个字符之间
等待超过5s返回
new_cfg.c_cc[VMIN]=1; //最少读取一个
字符
清除串口缓存
该操作是必不可少的,否则会导致串口通信失败。
tcflush(fd,TCIOFLUSH);
其中TC插件电感IOFLUSH表示清空串口的缓存。
接下来需要激活配置if((tcsetattr(fd,TCSANOW,&new_cfg))!=0)
{
// perror(”tcsetattr“);
return 1;
}
串口初始化、串口属性的设置的流程图,如图1所示。
2.串口的读写和关闭
利用串口通信的过程就是对串口设备的读写过程,只需要利用read()函数和write(一体电感)函数对打开的串口设备的文件描述符操电感器生产作即可。
在操作完串口退出程序时,需要将打开的串口关闭,这个过程和关闭普通的文件一样,调用close()函数即可完成。
四、结束语
本文以指纹识别系统的串口编程为电力电感器例,阐述了Linux系统下,串口编程的具体设置方法,在本文的基础上再添加上层软件的设计即可完成一个指纹识别系统。
基于蜜罐技术的FPGA实现 1. 项目背景蜜罐技术由来已久,蜜罐(Honeypot)是一种在互联网上运行的计算机系统。它是专门为吸引并诱骗那些试图非法闯入他人计算机系统的人(如电脑黑客)而设计的,蜜罐系统是一个包含漏洞的诱骗系 自制简易金属探测器的电路设计与分析 与其它类型的金属探测器相比,本电路的工作原理是这样的: 当探测用电感线圈的电感量变化时,L振荡器的振荡频率也产生变化。任何金属体一靠近这个探测电感器其电感量就变。 低压MOS管,原厂直接销售。可以替换AOS 茂达 富台湾司坦森低压MOS管原厂厂家,本司诚招代理及代理分销商。联系人:唐小姐 电话 13168017351 QQ:41394445
产品广泛应用于电脑周边,MP3.PM4 DVB.DVD,LCD显示器,LCD TV ,便携式DVD,
2/2 首页 上一页 1 2 |