android studio ndk 15.1使用串口的时候莫名其妙的会打开失败,打了一下日志
errno = 0;
if (tcsetattr(fd, TCSANOW, &cfg)) {
LOGE("tcsetattr() failed %s",strerror(errno));
close(fd);
/* TODO: throw an exception */
return NULL;
}
发现这个函数会报错,而且报错的理由是无效的参数,what????一脸的?明明手册清清楚楚的写着这个参数。
google 百度一顿搜,Stack Overflow上有人提问过为什么android下这个函数一直失败,下面几个人说可能是ndk版本问题,问了下给我们供应android板卡的厂家,说ndk15有bug,他们都用的14,下了个14重新rebuild一下,解决了,真是坑啊,还以为硬件出问题了。