一、介绍
一般一个linux开发板的串口0默认作为调试串口使用,也就是linux的shell调试终端,如果要作为普通串口使用需要相应的设置,这里以应用层修改的方法介绍怎么使用

二、使用方法
1、切换调试终端到其他串口

//将shell切换到其他串口终端
int change_cosole(char *tty)
{
    int fp = 0;

    fp = open(tty, O_RDONLY); 
    if(fp == -1)
    {
        printf("切换调试串口失败\n");
        return -1;
    }
    ioctl(fp,TIOCCONS);// 改变console到当前串口
    close(fp);

    return 0;
}

2、将其他串口(可以是虚拟串口)设置成终端

int main(void)
{
	int fd;
	char buffer[256]={0};

    change_cosole("/dev/tty1");//将终端切换到tty1
	fd = open_uart();//打开串口
	set_opt(fd,115200,8,'N',1);//配置串口参数 波特率 数据位8 校验无 停止位1位

	printf("serial opened,wait rcv\n");//打印提示语

	while(1)
	{
			memset(buffer,0,256);//接收数组清零
			while (read(fd,buffer,sizeof(buffer)) == 0);//等待电脑串口调试助手发送数据
			printf("rcved %s\n",buffer);//将收到的数据打印出来
			write(fd,buffer,strlen(buffer));//将收到的数据发送回去

	}
	close(fd);//关闭串口
    change_cosole("/dev/ttyS0");//将终端切换到ttyS0
    
	return 0;
}  

然后就可以像普通串口一样操作了。

Logo

更多推荐