آموزش میکروکنترلر STM32F4 قسمت 13 : تایمر و وقفه

blog
۱۳۹۸-۰۴-۰۹
3 دقیقه

در قسمت دوازدهم آموزش میکروکنترلر STM32F4 به ابزارهای ارتباطی بین Thread ها پرداختیم. در این قسمت از آموزش میکروکنترلر STM32F4 به مبحث مهم و کاربردی تایمر ها و سرویس وقفه می‌پردازیم. با سیسوگ همراه باشید.

 

تایمر

گروه تابع‌های مدیریت تایمر، امکان ساختن و کنترل تابع‌های تایمر را در سیستم فراهم می‌کند. یک تابع تایمر، وقتی که یک دوره زمانی تمام شود فراخوانی می‌شود. به دو شکل یکباره و متناوب می‌توان تابع‌های تایمر را تنظیم کرد. تابع‌های تایمر متناوب تا وقتی که متوقف شوند یا پاک شوند به کار خود ادامه می‌دهند. یک تایمر را می‌توان شروع کرد، بازنشانی کرد و یا متوقف کرد.

 

تایمر

 

تایمرها در ریسمان oSTimerThread  اداره می‌شوند. تابع‌های فراخوانی، زیر کنترل این ریسمان اجرا می‌شوند و می‌توانند تابع‌های سیستم عامل را فراخوانی کنند.

 

تعاریف تایمر

تعریف Timer object:

 

دسترسی به تایمر تعریف شده:

ساختمان شمارشی

توابع تایمر

توابع تایمر

 

راه‌ اندازی یک تایمر

گام‌های زیر برای راه‌اندازی تایمر نیاز است:

تعریف تایمر

 

نمونه سازی و شروع تایمر در یک ریسمان سیستم عامل

روال سرویس وقفه

می‌توان از CMSIS-RTOS در روال‌های وقفه استفاده کرد و تنها دو نکته را باید رعایت کرد:

  • موتکس نباید استفاده کرد.
  • توقف در روال وقفه مجاز نیست. (همه زمان‌های پایان باید برابر صفر تنظیم شود.)

 

کدهای وضعیت و خطا

همه مقدارهایی که تابع های سیستم عامل باز می‌گردانند به ترتیب زیر هستند. این مقدارها در ساختمان شمارشی زیر تعریف شده‌اند.

 

وقفه

  • osOK : تابع کامل شده است؛ خطایی رخ نداده است.
  • osEventSignal : تابع کامل شده است؛ رخداد سیگنال، روی داده است.
  • osEventMessage : تابع کامل شده است؛ رخداد پیام، روی داده است.
  • osEventMail : تابع کامل شده است؛ رخداد نامه، روی داده است.
  • osEventTimeout : تابع کامل شده است؛ زمان-پایان روی داده است.
  • osErrorParameter : خطای پارامتر، یک پارامتر اجباری گم شده است یا با شیء نادرست بیان شده است.
  • osErrorResource: منابع موجود نیست: یک منبع بیان شده در دسترس نیست.
  • osErrorTimeoutResource : منبع در زمان داده شده در دسترس نیست. یک منبع بیان شده در بازه زمانی مطلوب در دسترس نبود.
  • osErrorISR : در محتوای روال وقفه مجاز نیست. این تابع را نمی توان در روال وقفه فراخوانی کرد.
  • osErrorISRRecursive : تابع چند بار از همان روال وقفه فراخوانی شده است.
  • osErrorPriority : سیستم نمی تواند الویت را تعیین کند یا ریسمان اولویت غیرقانونی دارد.
  • osErrorNoMemory : سیستم کمبود حافظه دارد: امکان دادن حافظه یا نگه داشتن آن برای این فرایند وجود ندارد.
  • osErrorValue : مقدار یک پارامتر خارج از محدوده است.
  • osErrorOS : خطای ناشناخته سیستم عامل: خطای هنگام-اجرا ولی با هیچکدام از پیام های خطا همخوانی ندارد.

 

 

در قسمت چهاردهم آموزش میکروکنترلر STM32F4 به مبحث سیستمِ فایلِ FatFs بر روی کارت SD خواهیم پرداخت. با سیسوگ همراه باشید.

اطلاعات
0
0
لینک و اشتراک
profile

ه. مرادمند

متخصص الکترونیک

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله