问题标签 [ftdi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
343 浏览

c - 如何避免库查找 CMakeLists 功能

我正在尝试根据我的需要调整第三人称代码。此代码随用于构建和安装它的 CMake 配置文件一起提供。有可能选择图书馆之一。并且在代码中经常使用#ifdef USE_FTD2XX指令。我看到这是在 CMamkeFiles.txt 文件中定义的,如下所示:

但是,如果我只是使用 *.c 和 *.cpp 文件并从 IDE(代码块)中分析和运行它,我如何在 C++ 代码中而不是在 CMake 中设置使用这个库?我也确定我想一直使用这个,以便修复它。

我应该简单地#define USE_FTD2XX放在主文件中吗?

0 投票
1 回答
2869 浏览

android - 未检测到 Nexus7 USB 主机 FTDI 设备

我有一个简单的 ATMEL 微控制器,板上有一个 LED 灯,通过 FTDI-232 电缆和 USB->micro-USB OTG 电缆连接到 Nexus 平板电脑。

如果出现以下情况,则无法识别设备:

在以下情况下被认可:

在以下情况下被认可:

我还有一个独立于连接顺序的 Arduino UNO 板。

我需要它在 OTG 电缆最后连接到平板电脑的第一个示例中工作。

编辑:环顾四周并测试了一些东西后,我认为 OTG 电缆根据第一个有电的设备来决定哪个设备是主机。如果我断开 ATMEL 板/芯片的电源,然后插入整个设备,它会将平板电脑设置为主机。

所以我需要一些方法来强制将 Nexus7 平板电脑设置为主机,即使它已经插入有源设备。

0 投票
2 回答
793 浏览

java - 在 Linux 上与 DLP-IO20(使用 FTDI 芯片)通信

我正在尝试与 linux (ubuntu) 上的 DLP-IO20 板通信,但每次都会出错。windows下同样的程序运行良好。

为了与板子通信,我首先安装了所有的 FTDI 驱动程序,然后我为 linux libjd2xx.so 生成了一个库

现在,当我尝试运行 JD2XX.java 文件的主程序时,出现以下错误:

索引:0,标志:0x0,类型:0x5,id:0x4036001,位置:0x204,序列:12345678,描述:DLP-IO20,句柄:0x0 线程“main”中的异常 java.io.IOException:无效句柄 (1)

如您所见,程序会读取电路板信息,但是当它尝试向电路板发送命令时,会引发上述异常。引发异常的行是以下代码中的最后一行:

有什么建议吗?

0 投票
1 回答
496 浏览

android - 在 HCL ME U1 上运行 Android 串行监视器 lite 时出现问题

我正在尝试在 HCL ME U1 平板电脑(ICS 4.0.3、内核 3.0.8)上运行此USB 串行监视器应用程序。我正在使用 FTDI FT232RL(USB 到 RS232)电缆将平板电脑与串行设备连接。当我将 FTDI 电缆连接到平板电脑时,会弹出询问是否允许连接设备的通知,当我打开设备时,Toast 也会显示已连接。但是当我写一些数据时,数据没有发送。TX LED 不闪烁。所以数据不会通过 FT232 IC。

我已经使用 oracle VirtualBox 在 android x86 上尝试了相同的应用程序。它工作正常。没有错误。

我在 x86 和 ME u1 上都尝试过 Slick USB 2 串行终端。它适用于两者。

如果有人有任何想法,请分享问题可能是什么。

源代码

0 投票
1 回答
764 浏览

c++ - 在自己的线程中从 ttyUSB0 读取

我在使用 C++ 从 ttyUSB0 读取数据时遇到问题。我有一个自己的线程以阻塞模式从 ttyUSB0 读取数据。当我只读取单个字符时,数据以固定块的形式到达(不是很好的机器人)。那可能是我的 USB 到 UART 转换器上的 FTDI 芯片的一些内部缓冲区。但是,如果尝试读取多个字符,我只会收到零块。读取或初始化命令没有错误。有谁知道如何解决这个问题。

发送: dfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfsfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasd

收到:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

这是我的代码。

如果有人已经对这些东西有一些经验,那就太好了。谢谢

0 投票
1 回答
3256 浏览

usb - Windows下如何发出USB设备重连

我有一个基于 FTDI 芯片的 USB 设备。有时,它的驱动程序会卡住。

在linux下,没有问题——设备​​会自动断开,默认内核会重新连接,唯一的问题是设备名称改变了——可以通过udev规则修复。

在windows下,当它卡住时,应用程序的线程read()write()此时完全挂起。它不能被杀死,也不能被 杀死TerminateThread,也不能被 杀死KillProcess

杀死应用程序的唯一方法是物理断开 USB 设备。

任何方式以编程方式发出设备重新连接,这将消除驱动程序的死锁并允许重新打开端口并在之后继续工作?

如果需要,可以申请管理权限。

0 投票
2 回答
11723 浏览

objective-c - FTDI Communication with USB device - Objective C

I'm trying to communicate with the Enttec USB DMX Pro. Mainly receiving DMX.

They released a Visual C++ version here, but I'm a little stumped on what to do to convert to Obj-c. Enttec writes, "Talk to the PRO using FTDI library for Mac, and refer to D2XX programming guide to open and talk to the device." Any example apps for Objective-C out there? Is there an easy way to communicate with the Enttec DMX USB Pro?

0 投票
2 回答
124 浏览

windows - 从 Windows exe 调用由 Windows DLL 导出的函数时的延迟或上下文转换时间

我需要这方面的帮助。

当从 Windows exe 调用由 Windows DLL 导出的函数时,我看到延迟或上下文转换时间。

得出的结论是,大多数情况下,DLL 导出函数可以在 1 毫秒内完成。但有时从调用 DLL 函数到它返回的时间点的时间戳甚至是 600 毫秒。这会导致从属端的缓冲区溢出和数据丢失。实际上它是我正在使用的 USB 到 SPI 转换器。DLL 接收 USB 馈送并在另一端发出 SPI 数据。所以如果这个函数需要 600 毫秒才能返回,我会丢失 SPI 从机上的数据。

在分析 DLL 的功能时,它们所用的时间不超过 15 毫秒(尽管考虑到 15 MHz 的 SPI 速度,我们读取 4 个字节,但这个量级的 SPI 读取和写入也很多)。

那么是上下文转换时间吗?将 DLL 的代码合并到我的 exe 本身有帮助吗?我看到的唯一延迟只是在这个 DLL 的函数调用中。有什么方法可以导致不抢占,以便我的应用程序在 Win 7 机器上获得更多的 CPU 时间。我正在使用视觉工作室。

请建议。感谢您对此的帮助。

谢谢,萨库尔

0 投票
2 回答
3047 浏览

macos - 根据总线位置 ID 打开 FTDI 设备

我有几个 FTDI 设备连接到我的 Mac。它们都具有相同的描述、PID 和 VID。我希望能够向 FT_OpenEx() 指定我要打开哪一个。

我可以使用 IO Kit API 来获取我感兴趣的设备的总线位置 ID。FT_OpenEX() API 允许我传递位置而不是描述或序列号。

但是,返回位置 ID 的 FT API 返回的值与公交车位置 ID 完全不同。我连接的其中一个设备的总线位置 ID 为 0x1a127000,当我使用 FT API 获取所有设备的位置时,总线会显示 0x1a051 和 0x1a052 之类的内容。

有没有办法从 IO Kit 总线位置 ID 和 FT 位置进行转换,或者以其他方式指定要使用的设备?

0 投票
2 回答
7297 浏览

linux - 完成 libftdi 中缺失的 .so 文件

我正在使用 ftdi 提供的 ft232r 库通过 Linux Mint 对 LPC11C14 微控制器进行编程。要初始化软件,我需要运行以下命令:

当我运行代码时,出现以下问题:

在运行 ldd ft232r_prog 时,我得到:

该文件libftdi.so.1位于/usr/lib/x86_64-linux-gnu. 由于可执行的 ft232r_prog 找不到 .so 文件,我尝试了以下方法:

  1. 更新了路径环境变量以包含 /usr/lib/x86_64-linux-gnu -- 失败
  2. 更新了 $LD_LIBRARY_PATH 环境变量以包含/usr/lib/x86_64-linux-gnu-- 失败
  3. ldconfig进来/usr/lib/x86_64-linux-gnu——失败

这似乎是包含共享库的常见问题。关于如何解决它的任何想法?

谢谢