c语言 - 串行端口无法在 Linux ubuntu 中打开



我无法打开串行端口以在Linux ubuntu中开始通信。我试过这个:

int OpenPort(void) {
int fd; 
fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY);
if(fd == -1)
{
  printf("Failed to open port.n");
}
else
{
    fcntl(fd, F_SETFL, 0);
    printf("Opened!n");
}
return(fd);
}
int main()
{
  int x = OpenPort();
  printf("%in", x);
  exit(0);
}

我是 Linux 的新手,在网上找到了这段代码,但它对我不起作用。

您需要以超级用户/root身份运行才能访问Linux中的串行端口。尝试以 sudo 运行二进制文件。如果您可以验证这是问题所在,但不希望您的进程由 root 用户运行,则可以在代码中使用一些选项来获取 root 权限。这个答案可能对阅读如何以编程方式获得根权限很有用?

相关内容

  • 没有找到相关文章

最新更新