class Pin – I/O 핀 제어¶
Pin 객체는 STM32의 단일 GPIO를 나타냅니다. 핀의 모드(입력, 출력, 대체 기능, 아날로그)와 풀 저항을 구성하고 디지털 레벨을 읽거나 구동하는 메서드를 제공합니다. 아날로그 샘플링에 대해서는 pyb.ADC를, 대체 기능 열거에 대해서는 PinAF를 참조하십시오.
모든 헤더 핀은 pyb.Pin.board.<name> 형태로 미리 정의되어 있습니다. 대부분의 STM32 OpenMV Cam은 I/O 헤더 핀 P0 … P9를 노출하며, OpenMV Cam N6은 P18까지 추가 핀을 노출합니다:
p0 = pyb.Pin.board.P0
g = pyb.Pin(pyb.Pin.board.P0, pyb.Pin.IN)
기저의 STM32 포트/핀은 pyb.Pin.cpu.<name>을 통해 직접 주소 지정할 수도 있으며, 포트 문자 다음에 핀 번호가 오는 형태로 명명됩니다(예: pyb.Pin.cpu.A0). 각 OpenMV 헤더 핀이 CPU 핀에 매핑되는 방식은 보드에 의해 고정되어 있습니다.
핀은 문자열 이름으로 선택할 수도 있습니다:
g = pyb.Pin("P0", pyb.Pin.OUT_PP)
사용자 정의 이름은 Pin.dict()로 추가할 수 있습니다:
MyMapperDict = {"LeftMotorDir": pyb.Pin.cpu.A0}
pyb.Pin.dict(MyMapperDict)
g = pyb.Pin("LeftMotorDir", pyb.Pin.OUT_OD)
그리고 다시 조회할 수 있습니다:
pin = pyb.Pin("LeftMotorDir")
또는, Pin.mapper()로 사용자 정의 매핑 함수를 설치할 수도 있습니다:
def MyMapper(pin_name):
if pin_name == "LeftMotorDir":
return pyb.Pin.cpu.A0
pyb.Pin.mapper(MyMapper)
그러면 pyb.Pin("LeftMotorDir", pyb.Pin.OUT_PP) 호출은 "LeftMotorDir"을 매퍼에 직접 전달합니다.
다음 순서에 따라 이름이 물리적 핀에 매핑되는 방식이 결정됩니다:
Pin객체가 직접 전달됩니다.사용자가 제공한 매퍼 함수가 핀을 반환합니다.
사용자가 제공한 딕셔너리에 일치하는 키가 들어 있습니다.
문자열이 보드 핀 이름(
P0,P1, …)과 일치합니다.문자열이 CPU 포트/핀 이름(
A0,B7, …)과 일치합니다.
각 객체가 핀에 매핑되는 방식에 대한 진단 정보를 출력하려면 pyb.Pin.debug(True)를 호출하십시오.
생성자¶
- class pyb.Pin(id: str | Pin, *args, **kwargs)¶
주어진
id와 연결된 새 Pin 객체를 생성합니다. 추가 인자가 주어지면 핀을 구성하기 위해Pin.init()로 전달됩니다.클래스 메서드¶
메서드¶
- init(mode: int, pull: int = Pin.PULL_NONE, *, value: int | None = None, alt: int | str = -1) None¶
핀을 초기화합니다:
mode는 다음 중 하나일 수 있습니다:
Pin.IN- 핀을 입력으로 구성합니다;Pin.OUT_PP- 핀을 푸시-풀 제어 출력으로 구성합니다;Pin.OUT_OD- 핀을 오픈-드레인 제어 출력으로 구성합니다;Pin.ALT- 핀을 대체 기능(입력 또는 출력)으로 구성합니다;Pin.AF_PP- 핀을 푸시-풀 대체 기능으로 구성합니다;Pin.AF_OD- 핀을 오픈-드레인 대체 기능으로 구성합니다;Pin.ANALOG- 핀을 아날로그로 구성합니다.
pull은 다음 중 하나일 수 있습니다:
Pin.PULL_NONE- 풀업 또는 풀다운 저항 없음;Pin.PULL_UP- 풀업 저항을 활성화합니다;Pin.PULL_DOWN- 풀다운 저항을 활성화합니다.
핀에
Pin.PULL_UP또는Pin.PULL_DOWN풀 모드가 활성화되면, 해당 핀은 내부 저항(일반적으로 수십 kOhm – 사용 중인 OpenMV Cam에 대한 STM32 데이터시트의 전기적 특성 참조)을 통해 각각 3V3 또는 GND로 당겨집니다.value가 None이 아니면 핀을 활성화하기 전에 포트 출력 값을 설정합니다.
alt는 모드가
Pin.ALT,Pin.AF_PP또는Pin.AF_OD일 때 핀과 연결된 대체 기능 중 하나의 인덱스 또는 이름을 설정하는 데 사용할 수 있습니다. 이 인자는 이전에af라고 불렸으며, 필요하면 여전히 사용할 수 있습니다.
상수¶