machine_pin 源代码

# * coding: UTF8 *
"""

=================================================================================================

"""

[文档]def Pin(id, mode=-1, pull=-1, *, value): """ 访问与给定 id 相关联的外围引脚(GPIO引脚)。 :param id(int): 必选参数,GPIO管脚索引号,具体可用数值请参考硬件手册。 :param mode(int): 必选参数,指定引脚模式,可选值为下列之一: - Pin.IN - 引脚配置为输入。若将之视为输出,则引脚会处于高阻抗状态。 - Pin.OUT - 引脚配置为(常规)输出。 - Pin.OPEN_DRAIN - 引脚配置为开漏输出。 :param pull(int): 可选参数,若引脚与一个(弱)电阻相连,可选值为下列之一: - None - 无上拉或下拉电阻。 - Pin.PULL_UP - 启用上拉电阻。 - Pin.PULL_DOWN - 启用下拉电阻。 :returns: Pin 类句柄 :raises ValueError: EINVAL """ pass
[文档]def init(mode=-1, pull=-1, *, value): """ 使用给定参数将引脚重新初始化。只有指定参数将被设置,其余的外围引脚状态将保持不变。更多参数细节,请参见构造函数文件。 :param 空: :returns: None """ pass
[文档]def value(x): """ 该方法允许设置并获取引脚值,这取决于是否提供了参数 x。 如果没有提供参加,则该方法获取引脚的数字逻辑电平,分别返回0或1对应的低电压信号和高电压信号。该方法的行为取决于引脚的模式: - Pin.IN - 该方法返回目前在引脚上出现的实际输入值。 - Pin.OUT - 该方法的行为和返回值未定义。 - Pin.OPEN_DRAIN - 若该引脚在“0”状态下,则该方法的行为和返回值未定义。否则,若该引脚在“1”状态下,该方法返回目前在引脚上出现的实际输入值。 如果提供了参数值,则该方法设置引脚的数字逻辑电平。参数 x 可为任何可以转换成布尔值的参数。 若转换为 True ,则该引脚设置为状态“1”,否则引脚为状态“0”。 该方法的行为取决于引脚的模式: - Pin.IN - 该值储存在引脚的输出缓冲区中。引脚状态不变,始终为高阻抗状态。当它更改为 Pin.OUT 或 Pin.OPEN_DRAIN 模式时,该储存值将在引脚上激活。 - Pin.OUT - 输出缓冲区立即设置为给定值。 - Pin.OPEN_DRAIN - 若该值为“0”,引脚则被设置为低电压状态。否则引脚设置为高阻抗状态。 :param x: 输出值 或 None :returns: None(提供了参数) 或 int 值(未提供参数) """ pass
[文档]def off(): """ 向管脚写入0数值(低电平) :param 空: :returns: None """ pass
[文档]def on(): """ 向管脚写入1数值(搞电平) :param 空: :returns: None """ pass
[文档]def enable(): """ 允许IRQ中断 :param 空: :returns: None """ pass
[文档]def disable(): """ 禁止IRQ中断 :param 空: :returns: None """ pass
[文档]def irq(handler, trigger, wake=None): """ 配置一个中断处理程序,当引脚的触发器源处于激活状态时,调用该程序。 若引脚模式为 Pin.IN, 则触发器源为引脚上的外部值。 若引脚模式为 Pin.OUT,则触发器源为引脚上的输出缓冲区。 若引脚模式为 Pin.OPEN_DRAIN, - 状态为“0”时,触发器源为输出缓冲区; - 状态为“1”时,触发器源为外部引脚值。 :param handler: 是中断触发时所调用的可选函数 :param trigger: 配置可产生中断的事件。可选值为: - Pin.IRQ_FALLING 下降沿上的中断 - Pin.IRQ_RISING 上升沿上的中断 - Pin.IRQ_LOW_LEVEL 低电平上的中断 - Pin.IRQ_HIGH_LEVEL 高电平上的中断 这些值可在多个事件中同时进行“或”运算。 :param wake: 选择电源模式,在该模式下中断可唤醒系统。(HaaS硬件不支持该参数) 可选值为: - machine.IDLE - machine.SLEEP - machine.DEEPSLEEP 这些值可同时进行“或”运算,以使引脚在多种电源模式下生成中断。 :returns: None """ pass