آموزش STM32 با توابع HAL

0
32
آموزش STM32 با توابع HAL
آموزش STM32 با توابع HAL

در صفحه اصلی آموزش میکروکنترلرهای STM32، در مورد اهمیت این میکروکنترلرها صحبت کردیم. در این بخش که مربوط به آموزش STM32 با توابع HAL است، به معرفی این درایورها می‌پردازیم و سپس وارد بخش‌های عملی آموزش خواهیم شد. در مجموعه آموزش STM32 با توابع HAL تمام تلاش خود را کرده‌ایم که تمام دستگاه‌های جانبی (Peripheral) میکروکنترلر STM32F103 را با یک پروژه ابتدایی اما کاربردی پوشش دهیم. چند پروژه با پیچیدگی بیشتر نیز میان قسمت‌های مختلف آموزش و در انتها گنجانده‌شده است. امیدواریم که این آموزش‌ها موردتوجه علاقه‌مندان به الکترونیک و میکروکنترلرها، قرار گیرد.

کتابخانه‌های Hardware Abstraction Layer

درایورهای HAL باهدف ارائه مجموعه‌ای از API ها برای تعامل آسان با لایه‌های بالای پروژه (دور از سخت‌افزار) طراحی‌شده‌اند. با استفاده از کتابخانه HAL، زمان و انرژی بیشتر صرف توسعه خود نرم‌افزار می‌شود و درگیری با سخت‌افزار به حداقل می‌رسد. برخی از ویژگی‌های اصلی درایورهای HAL عبارت‌اند از:

 

  • هر درایور HAL، شامل مجموعه‌ای از توابع است که اکثر ویژگی‌های Peripheral مربوطه را در هر خانواده از میکروکنترلرهای STM32، پوشش می‌‎دهند.
  • وجود 3 مدل API programming مختلف که عبارتند از: polling ‏,Interrupt, DMA
  • API های کاملا سازگار با RTOS :
    • API ها کاملا Reentrant هستند.
    • استفاده دقیق از timeoutها در حالت polling
  • پشتیبانی از استفاده و فراخوانی چندگانه هر یک از دستگاه‌های جانبی (مثل USART1 یا USART2)
  • همه‌ی API های HAL از مکانیسم توابع user-callback استفاده می‌کنند.
  • مکانیسم قفل کردن: دسترسی امن به سخت‌افزار برای جلوگیری از دسترسی‌های نامطمئن به منابع.

 

در مورد آموزش توابع HAL با جزییات بیشتر، را در قسمت اول این سری آموزش، توضیح خواهیم داد. پس معرفی بیشتر HAL را به همان مقاله واگذار می‌کنیم. در ادامه می‌خواهیم کمی بیشتر در مورد سری آموزش STM32 با توابع HAL صحبت کنیم و بعد از آن سر فصل این مجموعه آموزش را معرفی کنیم.

ابزارهای مورد استفاده در آموزش STM32 با توابع HAL

ابزارهای مورد استفاده در آموزش STM32 با توابع HAL
ابزارهای مورد استفاده در آموزش STM32 با توابع HAL

 

 

در این سری آموزش، علاوه بر ابزارهای کوچک و یا خاص سخت‌افزاری یا نرم‌افزاری که برای یک پروژه استفاده می‌شوند (و در همان‌جا معرفی خواهند شد)، از یک بورد آموزشی برای میکروکنترلر STM32F103C8T به نام BluePill و در بعضی آموزش‌ها نیز از بورد STM32F103RET (به همراه بردبورد و تجهیزات ازاین‌دست مثل سیم بردبورد و..) استفاده می‌شود. ابزارهای نرم‌افزاری موردنیاز هم STM32Cube MX و STM32Cube IDE هستند. در مورد هر دو نرم‌افزار و کاربرد آن‌ها در قسمت دوم آموزش صحبت خواهد شد.

 

 

منبع: سیسوگ

برای این مقاله نظر بگذارید:

لطفا دیدگاه خود را بنویسید
لطفا نام خود را وارد کنید