read_seri.c

来自「《linux C语言应用》一书附带的光盘」· C语言 代码 · 共 43 行

C
43
字号
/*读串口*/
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <errno.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <termios.h>
#include <stdlib.h>
int main(void) 
{
	int fd;
	int nread,nwrite,i;
	char buff[8];
	fd_set rd;
/*打开串口*/
	if((fd=open_port(fd,1))<0){ 
		perror("open_port error");
		return;
	}
/*设置串口*/
	if((i=set_opt(fd,115200,8,'N',1))<0){ 
		perror("set_opt error");
		return;
	}
/*利用select函数来实现多个串口的读写*/
	FD_ZERO(&rd);
	FD_SET(fd,&rd);
	while(FD_ISSET(fd,&rd)){
	if(select(fd+1,&rd,NULL,NULL,NULL)<0)
			perror("select");
	else{
		while((nread = read(fd, buff, 8))>0)
		{
			printf("nread=%d,%s\n",nread,buff);
		}
	}
	close(fd);
	return;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?