最近发现打开串口容易阻塞,后来发现是没配置串口参数,记录如下:
struct termios Opt;
memset(&Opt,0,sizeof(Opt));
if (tcgetattr(fd, &Opt) != 0)
{
printf("tcgetattr fd \n");
}
/*设置数据位为8位*/
Opt.c_cflag &= ~CSIZE;
Opt.c_cflag |= CS8;
/*设置校验位为奇偶校验*/
Opt.c_cflag |= PARENB;
/*设置停止位为2*/
Opt.c_cflag |= CSTOPB;
/*数据处理*/
Opt.c_lflag |= ECHO;
cfsetispeed(&Opt, B921600);
cfsetospeed(&Opt, B921600);
status = tcsetattr(fd, TCSANOW, &Opt);
if (status != 0)
{
printf("tcsetattr fd1 \n");
}