当先锋百科网

首页 1 2 3 4 5 6 7

01 例程

#include <stdio.h>

#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <termios.h>

int set_opt(int,int,int,char,int);
void main()
{
	int fd;
	int nByte;
	char *uart_path = "/dev/ttySAC3";
	char *send_str = "\nYanling:I love you too.\n";
	char *uart_input = "please input\n";
	char rec_buff[512];
	
	
	memset(rec_buff, 0, sizeof(rec_buff));
	
	if((fd = open(uart_path, O_RDWR|O_NOCTTY|O_NDELAY)) < 0)
	{
		printf("%s open failed.\n",uart_path);
	}
	else
	{
		printf("%s open success.\n", uart_path);
		set_opt(fd, 115200, 8, 'N', 1);
		write(fd, uart_input, strlen(uart_input));
		while(1)
		{
			while( (nByte = read(fd,rec_buff, 512)) > 0)
			{
				rec_buff[nByte+1] = '\0';
				write(fd,rec_buff, strlen(rec_buff));
				//write(fd,send_str, strlen(send_str));
				
				memset(rec_buff, 0, strlen(rec_buff));
				nByte = 0;
			}
		}
		
	}
}

02 分析

定义数组rec_buff后,可以使用memset 来初始化,简单快捷。

接下来的操作,按照文件操作的方式进行配置串口。

1、打开文件

2、配置串口 set_opt函数

3、实现接收数据后,返回给电脑的功能。