微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式linux串口应用编程设计

嵌入式linux串口应用编程设计

时间:10-24 来源:互联网 点击:

fg); / /从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);

其中TCIOFLUSH表示清空串口的缓存。

接下来需要激活配置if((tcsetattr(fd,TCSANOW,&new_cfg))!=0)

{

// perror(”tcsetattr“);

return 1;

}

串口初始化、串口属性的设置的流程图,如图1所示。

2.串口的读写和关闭

利用串口通信的过程就是对串口设备的读写过程,只需要利用read()函数和write()函数对打开的串口设备的文件描述符操作即可。

在操作完串口退出程序时,需要将打开的串口关闭,这个过程和关闭普通的文件一样,调用close()函数即可完成。

四、结束语

本文以指纹识别系统的串口编程为例,阐述了Linux系统下,串口编程的具体设置方法,在本文的基础上再添加上层软件的设计即可完成一个指纹识别系统。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top