คลาส TimerChannel -- ตั้งค่าช่องสัญญาณสำหรับตัวจับเวลา

ออบเจ็กต์ TimerChannel หนึ่งตัวแทนหนึ่งในช่องสัญญาณ output-compare หรือ input-capture ของ Timer ช่องสัญญาณไม่ถูกสร้างโดยตรง แต่จะถูกส่งคืนโดย Timer.channel() ซึ่งทั้งกำหนดค่าช่องสัญญาณและส่งคืนออบเจ็กต์ wrapper:

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

เมธอดด้านล่างปรับรีจิสเตอร์ compare/capture ของช่องสัญญาณในขณะรันไทม์และติดตั้ง callback สำหรับแต่ละช่องสัญญาณ

ตัวสร้าง

class pyb.TimerChannel

ออบเจ็กต์ TimerChannel ไม่ถูกสร้างโดยตรง ใช้ Timer.channel() เพื่อรับออบเจ็กต์

เมธอด

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

ตั้งค่าฟังก์ชันที่จะถูกเรียกเมื่อช่องสัญญาณตัวจับเวลาทริกเกอร์ fun จะถูกส่งอาร์กิวเมนต์ 1 ตัว คือออบเจ็กต์ตัวจับเวลา หาก fun เป็น None callback จะถูกปิดใช้งาน

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

รับหรือตั้งค่าค่า capture ที่เกี่ยวข้องกับช่องสัญญาณ capture, compare และ pulse_width เป็นชื่อแฝงทั้งหมดสำหรับฟังก์ชันเดียวกัน capture เป็นชื่อเชิงตรรกะที่ควรใช้เมื่อช่องสัญญาณอยู่ในโหมด input capture

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

รับหรือตั้งค่าค่า compare ที่เกี่ยวข้องกับช่องสัญญาณ capture, compare และ pulse_width เป็นชื่อแฝงทั้งหมดสำหรับฟังก์ชันเดียวกัน compare เป็นชื่อเชิงตรรกะที่ควรใช้เมื่อช่องสัญญาณอยู่ในโหมด output compare

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

รับหรือตั้งค่าค่าความกว้างพัลส์ที่เกี่ยวข้องกับช่องสัญญาณ capture, compare และ pulse_width เป็นชื่อแฝงทั้งหมดสำหรับฟังก์ชันเดียวกัน pulse_width เป็นชื่อเชิงตรรกะที่ควรใช้เมื่อช่องสัญญาณอยู่ในโหมด PWM

ในโหมด edge aligned ค่า pulse_width เท่ากับ period + 1 จะสอดคล้องกับ duty cycle 100% ในโหมด center aligned ค่า pulse_width เท่ากับ period จะสอดคล้องกับ duty cycle 100%

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

รับหรือตั้งค่าเปอร์เซ็นต์ความกว้างพัลส์ที่เกี่ยวข้องกับช่องสัญญาณ ค่าเป็นตัวเลขระหว่าง 0 ถึง 100 และกำหนดเปอร์เซ็นต์ของคาบตัวจับเวลาที่พัลส์ active ค่าสามารถเป็นจำนวนเต็มหรือทศนิยมเพื่อความแม่นยำมากขึ้น ตัวอย่างเช่น ค่า 25 จะให้ duty cycle 25%