我在Ubuntu有个全国大学。我想用c语言编写一个串口收发消息的程序。
该设备是/dev/ttyUSB0。
使用Linux命令echo "message" > /dev/ttyUSB0并使用minicom获得结果是成功的。
但是当使用c#程序时,设备是打开失败的,fd总是返回-1。
int fd;
fd = open ("/dev/ttyUSB0", O_RDWR);然后我尝试在debian中使用raspbian,并运行相同的程序。它可以打开设备。
在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更改文件的权限外,还有其他方法吗?
发布于 2018-08-22 08:13:59
sudo usermod -a -G dialout <User>/dev/ttyxy由用户根和组拨号拥有,因此我将自己添加到拨号组中。至少为我工作过。
如果您的情况允许您使用sudo,那么为什么还有其他选择!
https://stackoverflow.com/questions/51949463
复制相似问题