NUC串行端口无法打开

时间:2018-08-21 13:10:08

标签: c linux ubuntu debian

我在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更改文件的权限之外,还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

sudo usermod -a -G dialout <User>

/ dev / ttyxy由用户root和组 dialout 拥有,因此我将自己添加到了拨出组中。至少对我有用。

如果您的情况允许您使用 sudo ,那么为什么要选择其他任何选择!