使用libftdi的ftdi设备的pythonic接口
pylibftdi的Python项目详细描述
pylibftdi是使用libftdi的ftdi设备的最小pythonic接口。
Features: |
|
---|---|
Limitations: |
|
用法
主接口是pylibftdi包中的Device类;这个 在相关FTDI设备(如UM232R)上提供串行访问,提供 类文件接口(读、写)。波特率由^{tt2}控制$ 财产
如果使用mode='t'(文本模式)创建设备实例,则read()和 write()可以使用给定的encoding(默认为拉丁语-1)。这不是 在Python2上有很大的不同(可以省略),但是允许 与在python 3中的设备之间传递unicode字符串的集成。
通过传递所需的设备序列号(如 字符串)在device_id参数中-这是两个参数中的第一个参数 device()和bitbangdevice()构造函数。或者设备“说明” 可以,如果按序列匹配,则将尝试匹配此 编号失败。
示例
>>> from pylibftdi import Device >>> >>> with Device(mode='t') as dev: ... dev.baudrate = 115200 ... dev.write('Hello World')
bitbangdevice包装器提供对 通过port和direction属性进行操作。它们提供了 8位IO端口,包括所有相关的位操作,使事情变得简单。
>>> from pylibftdi import BitBangDevice >>> >>> with BitBangDevice('FTE00P4L') as bb: ... bb.direction = 0x0F # four LSB are output(1), four MSB are input(0) ... bb.port |= 2 # set bit 1 ... bb.port &= 0xFE # clear bit 0
支持许多外部设备和协议,包括 使用4位接口与HD44780 LCD接口。
历史和动机
这个包是使用ftdi的各种工作的结果。 设备,主要用于控制外部设备。其中一些 记录在codedstructure博客codedstructure.blogspot.com上
存在其他几个开源Python FTDI包装,每个可能都是 最适合一些项目。有些旨在紧密包装libftdi接口, 其他人使用ftdi自己的d2x驱动程序(ftd2xx)或通过 libusb或类似的(例如pyftdi)。
pylibftdi的目标是与libftdi合作,但是 高级Python接口。各种包装和实用工具 函数也是发行版的一部分;遵循python 包括电池的方法,有各种有趣的设备 支持出盒子-或至少很快会有!
计划
- Add more examples: SPI devices, knight-rider effects, input devices, MIDI…
- Perhaps add support for D2XX driver, though the name then becomes a slight liability ;)
许可证
版权所有(C)2010-2018 Ben Bass<;benbass@codedstructure.net>;
Pylibftdi是在麻省理工学院的许可下发布的;参见文件“license.txt” 供参考。
此处引用的所有商标均为其各自的财产 持有人。 libftdi本身是由intra2net公司开发的。与…无关 intra2net是声称的或暗示的,但我找到了他们的库 很有帮助,玩得很开心…