C语言 NUC 迷你电脑串行端口无法打开



我在 Ubuntu 中有一个 NUC。我想用c编写一个用于串行端口发送和接收消息的程序。

设备/dev/ttyUSB0

使用 Linux 命令echo "message" > /dev/ttyUSB0并使用minicom来获取结果是成功的。

但是使用c程序时设备打开失败,fd总是返回-1

int fd;
fd = open ("/dev/ttyUSB0", O_RDWR);

然后我尝试在 debian 中使用 raspbian pi,并运行相同的程序。它可以打开设备。

NUC 迷你电脑的 Ubuntu 平台中是否缺少任何设置?谢谢你非常匹配。

更新:

我打印出错误消息:open() failed with error [Permission denied], 然后我尝试使用sudo来运行exe文件,然后我可以获取USB设备

这是当前文件编号

-rwxrwxr-x 1 u u 9048 Aug  22 19:15 uart
-rw-rw-r-- 1 u u 1424 Aug  22 19:15 uart.c

除了我使用chown更改文件的权限,还有其他方法吗?

sudo usermod -a -G dialout <User>

/dev/ttyxy 归用户根目录和组拨出所有,所以我将自己添加到拨组。至少为我工作。

如果您的情况允许您使用sudo,那么为什么还有什么替代方案!

最新更新