FT4222模块树莓派使用

本文介绍了FT4222这款USB转接器在树莓派平台上的驱动安装过程,包括Linux环境下libft4222库的安装步骤,并提供了Python中使用FT4222进行SPI/I2C/GPIO通信的示例。
摘要由CSDN通过智能技术生成

关于FT4222设备

FT4222是一款功能强大的USB到SPI/I2C/GPIO的转接器桥,由芯片制造商FTDI(Future Technology Devices International Ltd.)开发和生产。该模块可以将USB接口转换为SPI,I2C接口或GPIO接口,从而方便地连接和控制外部设备。在QuadSPI master模式下,可以达到53.8Mbps的速率。
产品资料链接:Products/FT4222HQ

软件库及示例下载参考页FT4222H软件示例
在本文中,介绍树莓派相关,使用libft4222-linux-1.4.4.44版本。
最新版本为:libft4222-linux-1.4.4.170

树莓派安装驱动

树莓派硬件平台:树莓派 3B
系统:ubuntu-22.04.4-preinstalled-desktop-arm64

$cat /etc/os-release

系统版本信息插上UWB Dongle模块,可以看到FT4222设备,信息如下:
$lsusb
在这里插入图片描述ID 0403:601C Future Technology Devices International, Ltd FT4222

关于驱动的安装

1、解压安装文件
$tar zxvf libft4222-1.4.4.44.tgz

解压得到以下目录:

build-arm-v6
build-i386
build-x86_64
examples
libft4222.h
ftd2xx.h
WinTypes.h
install4222.sh

2、运行安装脚本,根据系统硬件将相关库文件拷贝到/usr/local/lib/usr/local/include目录,同时创建与版本无关的符号链接,libft4222.so。

3、安装测试:

cd examples
cc get-version.c -lft4222 -Wl, -rpath,/usr/local/lib
sudo ./a.out

若无设备连接,则返回:No devices connected。
若检测到设备,则返回设备信息:
在这里插入图片描述

Python中使用

在Python中使用时,需要加载ft4222库以及ftd2xxx库。
pip install ft4222==1.8.1
pip install ftd2xx==1.3.3

import ft4222
# 获取FT4222 设备信息,FT4222 A为SPI Master
# FT4222 B为GPIO接口(GPIO 0,1,2,3)
number_of_devices = ft4222.createDeviceInfoList()
# 获取设备信息
device_info = ft4222.getDeviceInfoDetail(idx, False)

# 获取设备接口
ftdi_spi_interface = ft4222.openByLocation(device_info['locatiton'])

# 打印设备信息
print("SPI Interface Information:")
print("Location: " + str(device_info[0]['location']))
print("Serial Number: " + str(device_info[0]['serial']))
print("Description: " + str(device_info[0]['description']))
print("Type: " + str(device_info[0]['type']))
print("Id: " + str(device_info[0]['id']))
print("Index: " + str(device_info[0]['index']))
print("Flags: " + str(device_info[0]['flags']))
print("Handle: " + str(device_info[0]['handle']))
print("")
#print device
print("GPIO Interface Information:")
print("Location: " + str(device_info[1]['location']))
print("Serial Number: " + str(device_info[1]['serial']))
print("Description: " + str(device_info[1]['description']))
print("Type: " + str(device_info[1]['type']))
print("Id: " + str(device_info[1]['id']))
print("Index: " + str(device_info[1]['index']))
print("Flags: " + str(device_info[1]['flags']))
print("Handle: " + str(device_info[1]['handle']))

*注1:非完整示例代码,仅显示基本操作示例。
*注2:在运行python代码时,需要使用sudo权限。

输出信息如下:
在这里插入图片描述

  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萝卜D大哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值