Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Linux中结合FT4232H使用libMPSSE_Linux_Spi_Ftdi - Fatal编程技术网

在Linux中结合FT4232H使用libMPSSE

在Linux中结合FT4232H使用libMPSSE,linux,spi,ftdi,Linux,Spi,Ftdi,我对FT4232H没有多少经验。 它是一个四端口设备。 我想将一些端口配置为SPI,另一些配置为UART和GPIO 我已经开始试验SPI。 在官方文件中指出,如果使用ftd2xx和LIBMPSE 我们必须删除标准内核模块ftdi_sio和usbserial,所以我就这么做了 我的问题: 在Linux中,我可以将所有4个端口配置为任意SPI/UART/I2C/GPIO吗 因为每个端口在PC中使用的驱动程序可能不同? 据我所知,驱动程序是基于PID/VID加载的。 它对于具有4个端口的FT4232H

我对FT4232H没有多少经验。 它是一个四端口设备。 我想将一些端口配置为SPI,另一些配置为UART和GPIO

我已经开始试验SPI。 在官方文件中指出,如果使用ftd2xx和LIBMPSE 我们必须删除标准内核模块ftdi_sio和usbserial,所以我就这么做了

我的问题: 在Linux中,我可以将所有4个端口配置为任意SPI/UART/I2C/GPIO吗 因为每个端口在PC中使用的驱动程序可能不同? 据我所知,驱动程序是基于PID/VID加载的。 它对于具有4个端口的FT4232H来说是独一无二的,那么如何做到这一点呢? 任何关于这一点的想法都是欢迎的

我还想与大家分享我目前(一天)在libMPSSE的经历。 不幸的是,有点消极。 我已经从FTDI官方网站下载了最新libMPSSE-rev0.6的源代码。 我惊讶地发现,在Linux下没有为编译设置。 libMPSSE没有生成文件。我做了一个简单的,没什么大不了的,但后来我发现它不是开箱即用的。我在一个位置得到了“未定义类型字节”。 在构建库之后,我做了一个简单的测试应用程序,它的行为很奇怪。 我在SPI上发送了8个字节,但使用示波器,我观察到7个8位时钟数据包,然后是100us暂停,最后是最后一个8位数据包。最后一个数据包中的MOSI也不正确。(我发送了所有0,但在最后得到了两位高) 幸运的是我找到了。 解决了这个问题,我的转会看起来还行。 在我看来,FTDI甚至没有对libMPSSE进行基本检查

我不明白FTDI如此流行的芯片怎么会有那个低质量的软件库。 可能ftd2xx还可以,问题只出现在更高层的libMPSSE中? 有人在使用libMPSSE吗?我应该期待更多的问题吗? 欢迎对FTDI解决方案稳定性的任何想法

谢谢 Dimitar首先:

据我理解,你的“问题”很大一部分实际上不是一个问题,而是一个“讨论起点”,它不属于“堆栈-…”生态系统的范围

对于驾驶员问题部分: 据我所知,驱动程序是每个设备加载一次,而不是每个端口加载一次。然而,ftd2xx能够单独寻址每个端口并将其设置为不同的模式(基本上,它简单地向MPSSE引擎提供特定命令,而MPSSE引擎并不真正关心给定序列的真正含义)。您唯一失去的是方便的VCP可访问性

不同的libMPSSE模式有其局限性和怪癖。一个网站搜索将产生足够多的结果,作为一个更为狭窄的后续问题的起点。如果您只对一种模式感兴趣,那么专用于该模式的IC可能是相对“通用”FTx232x系列的替代品