首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到ttyUSB[id]

找不到ttyUSB[id]
EN

Stack Overflow用户
提问于 2014-09-20 16:58:32
回答 1查看 9.6K关注 0票数 1

我刚刚开始我的Raspberry Pi,我有一个项目,我想从USB端口读取数据。我已经安装了Java JDK8并编写了编译和运行的程序。但是我得到了/dev/ttyUSB1 1不存在的信息。

我有一条电缆从Arduino上的USB端口到RPi上的USB端口,我正在使用。

当我转到DIR /dev/并使用$ ls时,我只能找到tty0到tty63。我在网上搜索过,有人说你可以使用ttyAMA0,但这不起作用。我也找过同样的问题,但没有找到我的问题的答案。

我用过$ lsusb,它给了我001公交车上的4台设备(001-004)。我可以看到,例如,我的usb键盘被列为总线001设备004: ID 1532:010b Razer USA,Ltd. .,如果我运行$ dmesg \ grep制造商,我得到的是: xxxxxxxxx USB 1-1.2:制造商: Razer

所以我的问题是为什么我的usb设备没有被列为ttyUSBid?我必须手动连接它吗?

在Linux方面,我是个菜鸟。

希望有人能帮我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-20 19:16:55

我有个坏消息要告诉你。RPi上没有/dev/ttyUSBn设备(当您连接Arduino时)的原因是您需要Arduino驱动程序(特别是FTDI驱动程序)。不幸的是,这些驱动程序还不存在于Arm平台(包括RPi)。这是根据FTDI 网页显示的支持。注意缺乏Linux驱动程序对Arm的支持。

显然,在Arm上运行Linux,编写Arduino程序的唯一方法是通过串口接口直接通过GPIO引脚。有关此操作的信息可以找到这里。您还必须在Arduino端执行类似的操作,请参阅此信息

一旦你有两个设备通过直接串行连接,那么你可能会遇到另一个SNAFU。默认情况下,显然在RPi上,Linux将使用串口发送调试/控制台输出。为了将串行接口用于某些事情,必须对行为进行修改。这个文章讨论了这个问题。特别是,禁止内核使用串口进行终端使用,这似乎适用于:

以下步骤(基于清洁的2012-07-15-wheezy raspbian安装)

  1. 打开树莓上的终端,或通过SSH连接到Raspberry Pi。
  2. 备份/boot/cmdline.txt文件。sudo cp /boot/cmdline.txt /boot/cmdline_backup.txt
  3. 编辑/boot/cmdline.txt文件: sudo vi /boot/cmdline.txt

此文件包含: dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 $

删除引用UART串口(TtyAMA0)的参数: dwc_otg.lpm_enable=0 console=tty1 $

  1. 注释/etc/inittab中的下一行: T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
  2. 重启覆盆子Pi苏多重启

如果您使用与Debian不同的Linux发行版,则会有所不同,但基本原理仍然适用(修改内核命令行)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25951186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档