【Pico入门级教程】2. 外设GPIO

【MicroPython】machine.Pin类函数详解

  • machine.Pin(id, mode=None, pull=None, value)
      • Pin对象构造函数
      • id:GPIO编号,数值为0-29,如使用GPIO13则此处填写13,。;
    • mode:模式,可选None、Pin.IN(0)、Pin.OUT(1)、Pin.OPEN_DRAIN(2);
    • pull:使用内部上下拉电阻,仅在输入模式下有效,可选 None、Pin.PULL_UP(1)、Pin.PULL_DOWN(2);
    • value:输出或开漏模式下端口值,0为低(off)、1为高(on);

第一个参数ID,代表GPIO编号,数值应在0-29,如使用GPIO13则此处填写13。

第二个参数mode代表GPIO模式 可设置为不初始化,输入模式 输出模式 和开漏模式

第三个参数pull为使用内部上下拉电阻,可设置为上拉 下拉 和悬空 注意该参数仅在输入模式下有效。

第四个参数为输出数值,输出或开漏模式下端口值有效。

  • Pin.init(mode=None, pull=None)
    • 重新初始化GPIO口;
    • mode:模式,可选None、Pin.IN(0)、Pin.OUT(1)、Pin.OPEN_DRAIN(2);
    • pull:使用内部上下拉电阻,仅在输入模式下有效,可选 None、Pin.PULL_UP(1)、Pin.PULL_DOWN(2);

其作用为重新初始化GPIO,参数与PIN构造函数相同,这里就不一一赘述了.

  • Pin.value([x])
    • 不填写参数的情况下返回GPIO端口数值,在填写参数的情况下将参数写入GPIO端口中,参数可为0或者1;

PIN类中value函数作用为在不填写参数的情况下返回GPIO端口数值,在填写参数的情况下将参数写入GPIO端口中,参数可为0或者1;

  • Pin.toggle()
    • 输出或开漏模式下将端口设置翻转

PIN类中toggle函数为在输出或开漏模式下端口值进行一次翻转

  • Pin.low()
    • 输出或开漏模式下将端口设置为低;
  • Pin.off()
    • 输出或开漏模式下将端口设置为低;
  • Pin.high()
    • 输出或开漏模式下将端口设置为高;
  • Pin.on()
    • 输出或开漏模式下将端口设置为高;

以上四个函数均用于输出或开漏模式下,Low OFF 设置为低, high和on设置为高

  • Pin.irq(handler=None,trigger=(Pin.IRQ_FALLING | Pin.IRQ_RISING))
    • 用于设置外部中断
    • handler:中断触发回调函数;
    • trigger:中断触发条件,设置为:
      • Pin.IRQ_FALLING 下降沿中断。
      • Pin.IRQ_RISING 在上升沿中断

PIN类irq函数为外部中断函数, 第一个参数为中断触发回调函数; 第二个参数trigger为中断触发条件,设置为边缘触发或者电平触发。

此文章仅针对RP2040 MicroPython固件,以源码为准,本文根据编写时官方源码编写,用于为初学者提供便利,仅供于参考,如有能力者建议自行查询MicroPython源码

发表回复