Alcor6L/eLua/pio
外观
< Alcor6L
此模块包含用于访问 CPU 的 PIO(可编程输入输出)引脚的函数。它包含两组具有相同名称和行为的函数。一组对用于访问端口中单个引脚的函数进行分组,另一组对用于访问完整端口的函数进行分组。
使用 pio 模块,您可以指定端口名称,如在您的 eLua 的 CPU 数据手册中所示。例如,如果您的 CPU 的端口名为 PA、PB 和 PC,则可以使用 pio.PA
、pio.PB
和 pio.PC
分别引用它们。如果您的 CPU 使用 P0、P1、P2 而不是 PA、PB 和 PC,您可以简单地使用 pio.P0
、pio.P1
和 pio.P2
代替。
您还可以引用单个引脚而不是端口。使用与上面相同的符号,pio.PA_0
指的是端口 PA 的第一个引脚,pio.P0_15
指的是端口 P0 的第 16 个引脚,依此类推。
设置引脚方向
pio.pin.setdir( direction, pin1, pin2, ..., pinn )
- pio.pin.setdir( direction, pin1, pin2, ..., pinn )
direction
- 引脚方向,可以是pio.INPUT
或pio.OUTPUT
pin1
- 第一个引脚pin2
(可选) - 第二个引脚pinn
(可选) - 第 n 个引脚
返回:无。
在指定的引脚上启用/禁用上拉/下拉
pio.pin.setpull( type, pin1, pin2, ..., pinn )
type
- 'pull' 类型,可以是pio.PULLUP
来启用上拉,pio.PULLDOWN
来启用下拉,或者pio.NOPULL
来禁用上拉和下拉pin1
- 第一个引脚pin2
(可选) - 第二个引脚pinn
(可选) - 第 n 个引脚
返回:无。
设置引脚值
pio.pin.setval( value, pin1, pin2, ..., pinn )
value
- 引脚值,可以是 0 或 1pin1
- 第一个引脚pin2
(可选) - 第二个引脚pinn
(可选) - 第 n 个引脚
返回:无。
获取引脚值
val1, val2, ..., valn = pio.pin.getval( pin1, pin2, ..., pinn )
- pin1 - 第一个引脚
- pin2 (可选) - 第二个引脚
- pinn (可选) - 第 n 个引脚
返回:引脚的价值,0 或 1
将引脚设置为 1(高电平)
pio.pin.sethigh( pin1, pin2, ..., pinn )
- pin1 - 第一个引脚
- pin2 (可选) - 第二个引脚
- pinn (可选) - 第 n 个引脚
返回:无。
将引脚设置为 0(低电平)
pio.pin.setlow( pin1, pin2, ..., pinn )
- pin1 - 第一个引脚
- pin2 (可选) - 第二个引脚
- pinn (可选) - 第 n 个引脚
返回:无。
设置端口方向
pio.port.setdir( direction, port1, port2, ..., portn )
- direction - 端口方向,可以是 pio.INPUT 或 pio.OUTPUT
- port1 - 第一个端口
- port2 (可选) - 第二个端口
- portn (可选) - 第 n 个端口
返回:无。
在指定的端口上启用/禁用上拉/下拉
pio.port.setpull( type, port1, port2, ..., portn )
- type - 'pull' 类型,可以是 pio.PULLUP 来启用上拉,pio.PULLDOWN 来启用下拉,或者 pio.NOPULL 来禁用上拉和下拉
- port1 - 第一个端口
- port2 (可选) - 第二个端口
- portn (可选) - 第 n 个端口
返回:无。
设置端口值
pio.port.setval( value, port1, port2, ..., portn )
- value - 端口值
- port1 - 第一个端口
- port2 (可选) - 第二个端口
- portn (可选) - 第 n 个端口
返回:无。
获取端口值
val1, val2, ..., valn = pio.port.getval( port1, port2, ..., portn )
- port1 - 第一个端口
- port2 (可选) - 第二个端口
- portn (可选) - 第 n 个端口
返回:端口的价值
将端口设置为全 1(高电平)
pio.port.sethigh( port1, port2, ..., portn )
- port1 - 第一个端口
- port2 (可选) - 第二个端口
- portn (可选) - 第 n 个端口
返回:无。
将端口设置为全 0(低电平)
pio.port.setlow( port1, port2, ..., portn )
- port1 - 第一个端口
- port2 (可选) - 第二个端口
- portn (可选) - 第 n 个端口
返回:无。
将 PIO 资源号转换为相应的端口和引脚。这最常用于 GPIO 边缘中断例程,将 Lua 中断例程的参数转换为引起中断的端口和引脚,但它也可以用于从引脚名称 pio.PA_0、pio.P2_15 等返回的值。
port, pin = pio.decode( resnum )
- resnum - 引脚的资源号
返回
- port - 端口的索引,从 0 开始(因此端口 A 为 0,端口 B 为 1,依此类推)
- pin - 引脚号,通常从 0 到 31