class TimerChannel – הגדרת ערוץ עבור טיימר

TimerChannel מייצג אחד מערוצי השוואת-הפלט או לכידת-הקלט של Timer. ערוצים אינם נבנים ישירות; הם מוחזרים על ידי Timer.channel(), אשר גם מגדיר את הערוץ וגם מחזיר את אובייקט העטיפה:

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

המתודות שלהלן מתאימות את אוגר ההשוואה/לכידה של הערוץ בזמן ריצה ומתקינות callbacks ייעודיים לכל ערוץ.

Constructors

class pyb.TimerChannel

אובייקטים מסוג TimerChannel אינם נבנים ישירות. השתמשו ב-Timer.channel() כדי להשיג אחד.

Methods

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

מגדיר את הפונקציה שתיקרא כאשר ערוץ הטיימר מופעל. ל-fun מועבר ארגומנט אחד, אובייקט הטיימר. אם fun הוא None אז ה-callback יושבת.

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 מתאים למחזור פעולה של 100%. במצב מיושר-מרכז, רוחב פולס של period מתאים למחזור פעולה של 100%

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

קבל או הגדר את אחוז רוחב הפולס המשויך לערוץ. הערך הוא מספר בין 0 ל-100 וקובע את אחוז מחזור הטיימר שבמהלכו הפולס פעיל. הערך יכול להיות מספר שלם או מספר עם נקודה צפה לדיוק רב יותר. לדוגמה, ערך של 25 נותן מחזור פעולה של 25%.