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%.