嵌入式操作系统开发板中的串口编程——光敏电阻数据读取
在嵌入式操作系统开发板中一般都会拥有几个串口UART驱动,我们只需要应用程序中打开UART设备节点,初始化设置UART,比如设置停止位、数据位、奇偶校验位、波特率等,这些Linux操作系统给我们提供了现成的结构体,我们只需要调用结构体,设置相应的标志位即可。
下面的程序首先对串口进行初始化设置。
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/mman.h>
#include <linux/videodev2.h>
#include <string.h>
#include <stdlib.h>
//内核中串口定义的头文件
#include <termios.h>
int set_serial_uart(int serfd){
struct termios new_cfg;//termios结构体能够设置串口的模式
struct termios old_cfg;
if(tcgetattr(serfd, &old_cfg) != 0){
//保存现有串口参数的设置
perror("tcgetattr failed\n");
return -1;
}
bzero(&new_cfg, sizeof(new_cfg));
new_cfg = old_cfg;//将原始的设置保留
cfmakeraw(&new_cfg);
//设置波特率
cfsetispeed(&new_cfg, B115200);//接收
cfsetospeed(&new_cfg, B115200);//发送
//激活选项,c_cflag控制模式选项
//CL