دوره آموزشی میکرو کنترلرهای STM32 _ معرفی System Tick Timer
2018-12-19 19:32:57
جلسه سی و یکم _ معرفی System Tick Timer و بررسی تابع مربوط به آن
میکرو کنترلرهای STM32 دارای یک شمارنده 24 بیتی می باشند که وظیفه تولید یک زمان پایه را دارند این زمان پایه با تغییر فرکانس کاری میکرو تغییر نمی کند و ثابت می ماند و معادل 1 میلی ثانیه می باشد.
میکرو از این زمان پایه به منظور زمان بندی های خود استفاده می کند. در نرم افزار STM32CubeMX این تایمر بصورت پیش فرض تنظیم می شود و به عنوان Timebase Source شناخته می شود. لازم به ذکر است که علاوه بر SysTick تایمر های دیگری هم می توانند به عنوان Timebase Source انتخاب شوند ولی پس از انتخاب تایمر های دیگر، از تایمر استفاده شده نمی توانیم در موارد دیگری استفاده کنیم.
برای مشاهده یا تنظیم تایمر مورد نظر کافیست تا نرم افزار STM32CubeMX اجرا نماییم و پس از انتخاب نوع میکرو و انجام تنظیمات اولیه از سربرگ Pinout & Configuration قسمت System Core را انتخاب کنیم و پس از آن روی عبارت SYS کلیک نماییم.
با انتخاب گزینه SYS در قسمت SYS Mode and Configuration می توانید تنظیمات مربوط به Timebase Source را مشاهده نمایید.
همانطور که در تصویر بالا مشخص است SysTick به عنوان تایمر پیش فرض انتخاب شده است. برای مشاهده بقیه تایمرهای مجاز کافیست تا روی نوار مربوط به Timebase Source کلیک نمایید.
همانطور که در تصویر زیر مشخص است اینتراپت این تایمر نیز بصورت پیش فرض فعال می باشد.
برای مشاهده این بخش باید سربرگ Pinout & Configuration قسمت System Core را انتخاب کنیم و پس از آن روی عبارت NVIC کلیک نماییم.
با انجام تنظیمات مربوط با هر پروژه با توجه به اینکه SysTick برای تمام پروژه ها فعال است برای مشاهده تابع مربوط به آن کافیست تا فایل stm32f1xx_it.c را باز کنیم. در این فایل تابع مربوط به SysTick با نام SysTick_Handler وجود دارد.