|
楼主 |
发表于 2020-4-12 18:03:00
|
显示全部楼层
我查了下代码,
//测试是否为终端设备
if (0 == isatty(STDIN_FILENO))
{
printf("standard input is not a terminal device\n");
return (FALSE);
}
打开串口函数里面,到这里挂了。。。。
int UART0_Open(int fd, char *port)
{
//fd = open(port, O_RDWR | O_NOCTTY | O_NDELAY);
//fd = open(port, O_RDWR | O_NOCTTY);
if ((fd = open(port, O_RDWR | O_NOCTTY)) < 0)
{
printf("open serial port %s fail \n ", port);
printf("fd= %d\r\n",fd);
return fd;
}
if (FALSE == fd)
{
perror("Can't Open Serial Port");
return (FALSE);
}
//恢复串口为阻塞状态
if (fcntl(fd, F_SETFL, 0) < 0)
{
printf("fcntl failed!\n");
return (FALSE);
}
else
{
printf("fcntl=%d\n", fcntl(fd, F_SETFL, 0));
}
//测试是否为终端设备
if (0 == isatty(STDIN_FILENO))
{
printf("standard input is not a terminal device\n");
return (FALSE);
}
else
{
printf("isatty success!\n");
}
printf("fd->open=%d\n", fd);
return fd;
} |
|