STM, STM32, آموزش, مقاله

آموزش میکروکنترلر STM32F4 قسمت 12 : ابزارهای ارتباطی بین Thread ها

آموزش میکروکنترلر STM32F4 قسمت 12 ابزارهای ارتباطی بین Thread ها

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

ابزارهای ارتباطی بین Thread ها

ابزارهایی که برای ارتباط بین Threadها در دسترس است، عبارتند از صف‌های نامه، صف‌های پیام، سیگنال‌ها و حوضچه حافظه. در زیر این ابزارها بررسی می‌شود.

صف نامه

تابع مدیریت صفِ نامه (Mail Queue) اجازه می‌دهد که فرستادن، دریافت، انتظار یا کنترل نامه‌ها ممکن شود. یک نامه، بلوکی از حافظه است که به یک Thread یا روال وقفه فرستاده می‌شود.

 

Mail Queue

 

ماکروهای تعریف شده

 

ماکروهای صف نامه

 

تابع های تعریف شده

 

توابع Mail Queue

 

همانطور که در برنامه زیر دیده می‌شود برای انتقال داده‌ها بین دو Thread از صف نامه (صندوق نامه) استفاده شده است. یک Thread داده‌هایی را در نامه قرار می‌دهد و می فرستد و Thread دیگر که همواره منتظر دریافت است با دریافت نامه آن را چاپ می‌کند.

 

 

صف پیام

تابع‌های مدیریتِ صف نامه ( Message Queue )، کنترل، فرستادن، دریافت یا منتظر ماندن برای یک پیام را ممکن می‌کنند. یک پیام می‌تواند یک عدد صحیح یا یک اشاره‌گر باشد که به Thread، یا روال وقفه فرستاده می‌شود.

 

Message Queue

ماکروهای تعریف شده

 

ماکروهای Message Queue

تابع‌های تعریف شده

 

توابع Message Queue

 

در کد زیر مثالی از به کاربردن صف پیام دیده می‌شود.

 

سیگنال‌ها

تابع‌های مدیریت سیگنال امکان کنترل یا انتظار برای پرچم‌های سیگنال را فراهم می‌کند. که به هر Thread دارای پرچم‌های سیگنال اختصاص داده شده است.

 

حوضچه حافظه

حوضچه‌های حافظه، بلوک‌های حافظه پویا هستند که توسط سیستم عامل مدیریت می‌شوند و بنابراین Thread امن هستند. از حافظه heap سریع‌تر هستند و مشکل قطعه قطعه شدن را نیز ندارند. از این حافظه‌ها می‌توان در Threadها و روال‌های وقفه استفاده کرد. با این گام‌ها می‌توان حوضچه‌های حافظه را ساخت و از آن‌ها استفاده کرد.

 

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

 



انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.  همکاری با سیسوگ

 

نوشته های مشابه

یک دیدگاه در “2”

  1. Avatar مهدی گفت:

    سلام آموزش سیستم عاملی که گذاشتین خیلی عالیه، تقریبا توی اینترنت هیچ آموزش فارسی درست و حسابی برای سیستم عاملی که از نوع سیستم عامل های رایگان باشه گیر نمیاد
    لطفا این آموزش رو ادامه بدین خیلی کاربردی اما هنوز جایگاهش رو بین برنامه نویس ها پیدا نکرده
    بنده حاضرم از لحاظ مادی کمکی جهت نشر این مبحث بکنم
    ایمیلم رو نوشتم

    1. زئوس Zeus زئوس Zeus گفت:

      سلام دوست عزیز
      انشالله سعی میکنم که فرهنگش رو جا بندازیم 🙂

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *