c - NUC串口打开失败

标签 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修改文件的权限,还有别的方法吗?

最佳答案

sudo usermod -a -G dialout <User>

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

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

关于c - NUC串口打开失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51949463/

相关文章:

Ubuntu容器不断重启

c++ - opengl 程序编译但在运行时出错(UBUNTU 14.04)

sh : 1 file not found error with system() command? 的原因在 StackOverflow 中尝试了可能的解决方案(如下所列)但失败

python - 已安装包但未导入包

C编程: Segmentation Fault (Core Dumped)

linux - 计算列中负数的总和?

c++ - Gnuplot 和 std::filesystem::remove

c - 为什么 C 没有 snwprintf 函数?

c - 二叉树层次顺序使用队列遍历?

c & 指针加法中的字符数组