linux - fopen() 在/dev/ttyACM0 上失败

标签 linux fopen

我正在开发嵌入式 Linux(通过 buildroot 构建,不是我创建的,但我可以访问)。 我正在通过 USB 连接蜂窝调制解调器,这会创建 ttyACM0(以及更多的 ttyACMx)。 我正在使用 pppd 来运行调制解调器 - 它工作正常。

我想做的是通过询问“AT+CIMI”并解析响应中的网络号来更新聊天脚本中的 APN(在运行 pppd 之前)。

我试过了 atinout ,一个非常小的 c 语言程序,它可以在我的笔记本电脑 (Ubuntu) 和另一个嵌入式 Linux 上运行,但在这个平台上失败。它使用 fopen()。 我试图找出问题所在,发现 fopen() 失败并显示错误号 5(输入/输出错误)。 我改为 open() 并且它起作用了!!!我可以发送 AT 请求并查看收到的响应。

那么 - 这是怎么回事?

*** PS -/dev 挂载为 tmpfs,它运行 busybox mdev(与 udev 的 devtmpfs 相对,在我的笔记本电脑上)。

谢谢。

最佳答案

最终我使用了带有 Qt 框架的串行端口 API(它是一个 Qt 应用程序)。 它使用基本的 open()/write() API。

关于linux - fopen() 在/dev/ttyACM0 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30211646/

相关文章:

Linux 文件操作

linux - 如何为 2 个或更多需要按特定顺序运行的服务器构建启动/关闭脚本?

linux - 为什么共享库(.so 文件)加载为私有(private)?

python - 在 python 中作为非特权用户从 Web 服务器 worker 登录的设计模式

ruby - 错误的文件描述符错误 - 读取,当使用 nohup 在 ubuntu box 后台运行服务器时

我们可以在没有 fopen 的情况下用 C 打开二进制文件吗?

c - 关于C中的FOPEN

PHP:使用 fopen() 创建文件导致字符串中的 "cryptic"值,重复现有文件的工作

C++ 使用 CreateFile 而不是 fopen 查找

c - fopen 不起作用,程序崩溃