导入
方法
方法参考
Net.get(name, type=NetType.GPIO)
按名称获取一个 GPIO Net。
返回: GPIO Net 实例
input()
读取该引脚的数字状态。
int - 低电平为 0,高电平为 1
output(level)
设置该引脚的数字状态。
wait_for_level(level, timeout=None, ...)
等待引脚到达目标电平。该调用会阻塞,直到引脚读到指定电平或超时。
LabJack T7 使用最高 20 kHz 的硬件流式采样进行快速边沿检测。其他硬件(包括 LabJack U3)使用软件轮询。
返回:
float - 检测到该电平所经过的时间,单位秒
抛出: 在到达目标电平之前超时,则抛出 TimeoutError
不同硬件的行为:
示例
读取按键状态
控制 LED
等待中断
用按键控制 LED
翻转输出
受支持的硬件
引脚命名
LabJack T7:
LabJack U3:
FIO0-FIO3不是 GPIO 引脚。在 U3-HV 上它们是固定的高压模拟输入,驱动程序会拒绝使用它们。请用AIN0-AIN3上的 ADC Net 读取它们。input()读取引脚时不改变它的方向。output()会把引脚设为输出。FIO4-FIO7和EIO0-EIO7同样是模拟输入。调用 GPIO 会把引脚设为数字模式。- EIO 和 CIO 线位于 U3 的 DB15 连接器上。
多通道 FTDI 适配器
FTDI Net 从该 Net 记录的params.interface 取得通道,可以是 A-D 或 0-3。请用 lager nets add --interface 设置它。没有 interface 的 Net 使用通道 A,在单通道的 FT232H 上这也是唯一的选择。
GPIO 以异步 bitbang 方式运行,不需要 MPSSE 引擎,因此该芯片的每个通道都可以使用。请注意引脚宽度不同:FT232H 和 FT2232H 提供 ADBUS0-7 加 ACBUS0-7(16 位),而 FT4232H 的每个通道为 8 个引脚。
同一颗芯片上各 Net 类型之间如何分配通道,请参阅
Nets。
说明
- GPIO Net 可直接使用,不需要
enable()/disable()调用 input()返回 0 或 1output()接受整数(0/1)或字符串(“high”/“low”、“on”/“off”、“true”/“false”)wait_for_level()接受整数电平(0或1),并阻塞调用线程直到检测到目标电平- LabJack T7 的
wait_for_level()使用硬件流式采样,可实现亚毫秒级检测 - Net 名称必须与 Lager Box 上配置的名称一致

