คลาส 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เป็นNonecallback จะถูกปิดใช้งาน
- 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%