class TimerChannel – 타이머의 채널 설정

TimerChannelTimer 의 출력 비교 또는 입력 캡처 채널 중 하나를 나타냅니다. 채널은 직접 생성되지 않으며, Timer.channel() 에 의해 반환됩니다. 이 메서드는 채널을 구성하고 래퍼 객체를 돌려줍니다:

timer = pyb.Timer(2, freq=1000)
ch2 = timer.channel(2, pyb.Timer.PWM, pin=pyb.Pin.board.P1,
                    pulse_width_percent=25)

아래 메서드는 런타임에 채널의 비교/캡처 레지스터를 조정하고 채널별 콜백을 설치합니다.

생성자

class pyb.TimerChannel

TimerChannel 객체는 직접 생성되지 않습니다. 하나를 얻으려면 Timer.channel() 을 사용하세요.

메서드

callback(fun: Callable[[Timer], None] | None) None

타이머 채널이 트리거될 때 호출할 함수를 설정합니다. fun 에는 1개의 인수, 즉 타이머 객체가 전달됩니다. funNone 이면 콜백이 비활성화됩니다.

capture(value: int | None = None) int | None

채널과 연관된 캡처 값을 가져오거나 설정합니다. capture, compare, pulse_width는 모두 동일한 함수의 별칭입니다. capture는 채널이 입력 캡처 모드일 때 사용할 논리적 이름입니다.

compare(value: int | None = None) int | None

채널과 연관된 비교 값을 가져오거나 설정합니다. capture, compare, pulse_width는 모두 동일한 함수의 별칭입니다. compare는 채널이 출력 비교 모드일 때 사용할 논리적 이름입니다.

pulse_width(value: int | None = None) int | None

채널과 연관된 펄스 폭 값을 가져오거나 설정합니다. capture, compare, pulse_width는 모두 동일한 함수의 별칭입니다. pulse_width는 채널이 PWM 모드일 때 사용할 논리적 이름입니다.

에지 정렬 모드에서 period + 1 의 pulse_width는 100% 듀티 사이클에 해당합니다. 중앙 정렬 모드에서 period 의 펄스 폭은 100% 듀티 사이클에 해당합니다.

pulse_width_percent(value: int | float | None = None) int | float | None

채널과 연관된 펄스 폭 백분율을 가져오거나 설정합니다. 이 값은 0에서 100 사이의 숫자이며 펄스가 활성 상태인 타이머 주기의 백분율을 설정합니다. 더 높은 정확도를 위해 값은 정수 또는 부동 소수점 숫자일 수 있습니다. 예를 들어 25라는 값은 25%의 듀티 사이클을 제공합니다.