linux调试串口改为普通串口使用
一、介绍一般一个linux开发板的串口0默认作为调试串口使用,也就是linux的shell调试终端,如果要作为普通串口使用需要相应的设置,这里以应用层修改的方法介绍怎么使用二、使用方法1、切换调试终端到其他串口//将shell切换到其他串口终端int change_cosole(char *tty){int fp = 0;fp = open(tty, O_RDONLY);if(fp == -1){
·
一、介绍
一般一个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;
}
然后就可以像普通串口一样操作了。
更多推荐
已为社区贡献5条内容
所有评论(0)