问题标签 [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 投票
0 回答
3494 浏览

android - 使用 USB 主机和 FTDI 设备接收数据

我正在开发一个程序,该程序允许我在我的 Android 手机和使用 FTDI 芯片 (FT232R) 进行 USB 通信的微控制器之间交换数据。到目前为止,我已经成功创建了一个线程,允许我在不影响应用程序其余部分的情况下执行 USB 通信。此外,我已经成功地能够初始化和发送数据到 FTDI 设备,但我似乎无法从设备中读取数据。我已将 USB 设备设置为每 100 毫秒发送一个 4 字节数据包,以查看是否可以读取数据包并将其回显到总线上。但是,我无法读取数据。

在设备端,我每 100 毫秒发送一个四字节 ASCII 数据包“a''b''c''d'。在主机端,更具体地说是 USB 线程,我正在尝试查看是否可以接收此数据。我正在读取 while 循环内的数据,该循环正在检查接收缓冲区中的第一个位置是否等于正在发送的任何字符(a、b、c 或 d)。我这样做的原因是因为我怀疑数据是混乱的。在 while 循环内,每次都会清除缓冲区。然后调用 bulkTransfer 函数来尝试接收数据,如果我理解正确,它将接收数据,直到它接收到 64 个字节或经过 1000 毫秒(超时)。然后,我通过检查缓冲区第一个元素中的 4 个字符中的任何一个来检查是否收到了任何发送的数据。如果我检测到一个字符,则退出 while 循环并将前四个字符从缓冲区发送到总线上。然而,我用逻辑分析仪监控总线,我似乎永远无法检测到来自主机的任何传输,这表明我没有接收到数据。任何帮助将不胜感激。我已经做了很多工作来达到这一点,但我似乎被困住了。谢谢你。我已经做了很多工作来达到这一点,但我似乎被困住了。谢谢你。我已经做了很多工作来达到这一点,但我似乎被困住了。谢谢你。

USB 从属代码 (C prog.)

安卓代码

0 投票
2 回答
3388 浏览

c++ - qt 5.2 串口写入问题与 windows 7

我们在硬件中使用 FTDI 串行端口芯片。现在我们在 Linux 中有了工作代码,我们移到了 Windows 7。我们遇到了一些奇怪的问题。

问题:我们不能在不运行其他控制台应用程序的情况下将数据写入串行端口:

所以它只是循环读取所有内容。硬件不发送任何东西,所以读取只是无限循环。关闭并运行我们的写入程序后,它可以正常运行。

运行 read 后一切正常,但没有 read all 就不行了。我们做错了什么?谢谢。

0 投票
3 回答
2569 浏览

linux - 为嵌入式 linux arm 交叉编译 FTDI VCP 驱动程序

我正在尝试为我的嵌入式 arch linux arm 机器交叉编译 FTDI VCP 驱动程序。我从http://www.ftdichip.com/Drivers/VCP.htm将源文件下载到运行内核的主机上:

2.6.32-54-通用-pae

运行 Makefile 时,我收到与内核头文件相关的错误,即:找不到 asm/thread_info.h 文件。我意识到这意味着我的 asm 符号链接已损坏,因此我尝试将其链接到

linux-headers-2.6.32-54/include/asm-generic

但该目录的内容也不包括我正在尝试查找的 thread_info.h。

有没有人使用 Ubuntu 作为主机交叉编译了嵌入式 arch linux arm 的 FTDI VCP 驱动程序,并且可以为我指明正确的方向?我是构建内核模块和交叉编译的新手,任何帮助将不胜感激。

如果有人需要更多信息,我会非常乐意添加。

0 投票
2 回答
10518 浏览

linux - 编译 FTDI 内核模块

我正在尝试将 USB 到串行端口驱动程序添加到我的 arch linux arm 设备,我注意到内核源代码树已经包含 FTDI 驱动程序的源文件,位于:

drivers/usb/serial,存在 ftdi_sio.c 和 ftdi_sio.h 文件。

当我导航到内核/驱动程序时,我无法在任何地方找到 ftdi_sio.ko 模块。

如何构建 ftdi 内核模块并将其包含在引导中,以便我可以在我的 arch linux arm 上拥有 USB 到串行端口的功能?

0 投票
3 回答
26720 浏览

ios - iOS (iPhone/iPad) 中的串行或 HID (usb) 通信

我想通过连接到 iPhone 或 iPad 设备从血糖仪设备获取数据。我有不同的供应商血糖仪,有些使用简单的 HID 接口进行通信,有些使用串行通信。

这是两种可能的通信方式:

  • USB 转 30 针连接器。
  • 3.5 插孔到 30 针连接器。

USB 或 3.5 插孔将连接到血糖仪,30 针连接器将与 iDevice 连接。

经过数小时的研究后,我在互联网上没有找到针对 iOS 特定的太多帮助。

我确实找到了 ORSSerialPort,但我认为它仅适用于 OS X 应用程序。

有 RedPark 串行电缆,但用于 RS232 到 30 针通信,其次只能用于内部项目。我想在 Apple Store 上出售我的应用程序。

也有人在讨论使用 IOKit 框架。我们可以与 iDevie 通信,但那是私有框架。

有人帮我解决这个问题,或者让我知道这在 iOS 应用程序中是否可行。

苹果有没有考虑过这种类型的工作?

0 投票
3 回答
3115 浏览

windows - 关闭串口QT的正确方法

我正在使用 QT 连接到硬件串行设备,我的应用程序大致围绕终端示例,但由于通信需要非常同步,串行处理程序位于另一个线程中。连接是通过带有 FTDI 芯片组的 2xRS232 到 USB 适配器。

串口通讯很好,我可以连接,发送命令等。但是,当我退出并重新加载应用程序时,串口似乎被阻塞了。

设 COM1 为已连接设备,COM2 未连接。

如果我运行程序,与硬件进行一些对话并退出,我将无法在下次运行程序时连接到 COM1(适配器上的数据 LED 不闪烁),除非我尝试连接到 COM2第一的。一旦我尝试了这个,我就可以像往常一样连接回 COM1。这种行为在硬件的参考实用程序中看不到,因此必须归结为我处理端口的某种方式。

我的关闭代码是:

serial是一个QTSerialPort。首先发送停止命令以关闭硬件(与问题无关,这只是为了方便),然后我向串口发送关闭命令。

我的主窗口有一个子类 QWidget,它在退出时调用此命令:

这种行为有什么原因吗?我假设我以某种方式阻止了端口打开,但它肯定会抱怨它已经打开。

另一个奇怪的问题是,说设备在 COM1 上,我在我的应用程序中打开它,COM1 在其他实用程序中没有响应,并且设备出现在 COM2 上。但是,当我切换回我的程序并稍微摆弄一下时,该设备再次出现在 COM1 上(尽管在另一个应用程序中总是在 COM2 中)。

0 投票
2 回答
1191 浏览

c - linux上的串口有问题,在avr和linux之间

您好,我正在尝试在 avr atmega32a 和 linux 发行版之间进行通信。我在 USB 端口上使用 ftdi 芯片(VCOM 驱动程序等)

我将在 avr 和 linux 中发布代码,但 avr 中的代码工作正常,因为我在 minicom 上对其进行了测试。

我认为这里的问题是我在 linux 上的代码。基本问题是它有时有效,有时无效。我认为它与文件描述符或端口本身的打开和关闭有关。

我为什么这么说?

avr 上的代码做了一件简单的事情。等待按钮被按下,然后开始永远发送“Hello world”。

所以当使用 minicom 时它工作得很好。

当我第一次使用我的程序并等待按钮被按下时,即使我按下按钮,我似乎也无法从端口读取任何内容。

然后我打开 minicom 并立即开始阅读(因为已按下按钮)。然后我关闭 minicom,我打开我的程序,它工作正常....

打开和关闭文件(端口)似乎有问题,但我不确定。反正这东西不够稳定。

任何帮助将不胜感激。

我要写的是从串口连续读取。我已经阅读了有关阻塞读取的信息,但是当我尝试实现它时它似乎不起作用。

谢谢。

更新* * 我刚刚添加了一个 else if (wordsRead < 0) printf("Error reading\n"); 第一次读取时它似乎得到-1,但我不明白为什么会发生这种情况问题是,当它从端口正确读取时(第一次使用 minicom 后)我在“Hello world”打印出来......

这是我的代码 AVR 唯一的主要功能。

这是我在linux上的C代码。

0 投票
1 回答
970 浏览

android - 无法从 FTDI 串行 I2C 读取字节到 Android Eclipse Java 应用程序

我有一个通过 OTG 电缆连接到 android 4.2 平板电脑的 FTDI UMFT201XB(I2C 串行 USB 接口)。FTDI 连接到 PIC MCU。我已经从 FTDI 运行了示例 TN-147,并且设备被正确识别。

我修改了 TN-147 示例以读取 MCU 已发送到 UMFT201XB 的 12 个字节。

代码是:

我的问题是在执行时device_time = 200 (dec)iavailable1 = 00, iavailable2 = 12(Dec), 和iavailable3 = 12(Dec).

显然,200 来自

ftDevice.read(databuf1,iavailable2)不获取任何字节databuf1到. 并且可用的字节仍然是12(Dec)( iavailable3 = 12)。

请帮忙。

0 投票
1 回答
414 浏览

ftdi - V2DAP 固件工作

我想知道 V2DAP 固件如何适用于 32 针 VNC2 设备。WRT V2DAP 固件是否兼容 32 针 VNC2 设备?还是我应该选择 48 或 64 针 VNC2 设备!

请同样建议我。
谢谢

0 投票
1 回答
3567 浏览

c++ - 如何在 QtCreator 上使用 FTD2xx 库(使用 MSVC2012 编译器)

我在制作一个通过D2xx 驱动程序与 FTDI 设备通信的应用程序时遇到了麻烦。在 ftdi 的网站上有一些 Visual Studio 的示例项目。但没有 QtCreator。我选择 QtCreator 作为 c++ IDE,因为我的应用程序需要 Qt 框架。我把 ftd2xx.h 和 ftd2xx.lib 放在 Qt 项目目录下。

(ftd2xx.lib 是静态库,最初位于 [download-folder]\CDM v2.08.30 for Windows 8.1\Static\i386)

编译示例源代码时,我收到以下错误消息。

使用 .pro 文件 (1) 时出现错误消息。

使用 .pro 文件时出现错误消息 (2)。

为了利用 ftd2xx 库,我应该如何更正 Qt 项目设置?

我的源代码和 .pro 文件在这里。

[主.cpp]

[.pro 文件,如果复选框被启用] ---(1)

[.pro 文件,如果未启用复选框] ---(2)

任何帮助,将不胜感激。提前致谢。

[笔记]

操作系统:Windows 8.1

IDE:Qt Creator 3.0.0

编译器:MSVC2012(32bit)

目标设备:ft232hl

[附加说明]

“添加库”的配置如下。如果我启用复选框“为调试版本添加“d”后缀,则会收到有关 LNK1104 的错误消息。否则,我会收到不同的错误消息。

在此处输入图像描述