در صفحه اصلی آموزش میکروکنترلرهای STM32، در مورد اهمیت این میکروکنترلرها صحبت کردیم. در این بخش که مربوط به سری آموزش STM32 با توابع LL است، به معرفی این درایورها میپردازیم و سپس وارد بخشهای عملی آموزش خواهیم شد. در مجموعه آموزش STM32 با توابع LL تمام تلاش خود را کردهایم که تمام دستگاههای جانبی (Peripheral) میکروکنترلر STM32F103 را با یک پروژه ابتدایی اما کاربردی پوشش دهیم. امیدواریم که این آموزشها موردتوجه علاقهمندان به الکترونیک و میکروکنترلرها قرار گیرد. برای ادامه راه با سیسوگ همراه باشید.
قبل از هر چیزی باید به این سؤال جواب دهیم که توابع LL در STM32 چه هستند؟ شرکت ST برای راهاندازی و توسعه نرمافزار برای میکروهای خود، ابزارهایی در اختیار کاربران قرار داده است که ازجمله این ابزارها، کتابخانههای LL یا Low Layer هستند. ویژگی بارز این توابع نزدیک بودن به لایهی سختافزار و دسترسی مستقیم به Register های میکروکنترلر است. به همین دلیل استفاده از این توابع به دانش سختافزاری نیاز دارد.
درواقع درایورهای LL باهدف ارائه یک لایهی سریع و سبک نزدیک به سختافزار برای کاربران متخصص، طراحیشده است. درایورهای LL شامل بخشها و ویژگیهای زیر میشوند:
[su_list icon="icon: check" icon_color="#34ff4f"]
نکته قابلتوجه در مورد توابع LL این است که اعمالی که انجام میدهند و سرویسهای ارائه میکنند، دقیقاً انعکاس تواناییهای سختافزاری هستند که در زمان فراخوانی بهصورت یک عملیات one-shot اجرا میشوند. همچنین ازآنجاکه این سرویسها هیچ پروسهای را پیاده نمیکنند، نیازی به حافظه برای ذخیره حالت، شمارنده یا اشارهگر ندارند. همهی کارها با تغییر محتوای رجیستر مربوط به دستگاههای جانبی موردنظر انجام میشوند.
در کتابخانههای low layer علاوه بر 5 هدرفایل که مربوط بهویژگیهای سیستم و Cortex هستند، به ازای هر دستگاه جانبی یک هدرفایل و یک فایل C وجود دارد. همچنین قابلذکر است که برای LL فایل Configuration وجود ندارد و فایلهای مربوط به درایورهای LL در پوشه درایورهای HAL قرار دارند.
در همه درایورهای low-layer، تنها فایلی که Include میشود، فایل CMSIS دستگاه موردنظر است.
در این سری آموزش، علاوه بر ابزارهای کوچک و یا خاص سختافزاری یا نرمافزاری که برای یک پروژه استفاده میشوند (و در همانجا معرفی خواهند شد)، از یک بورد آموزشی برای میکروکنترلر STM32F103C8T به نام BluePill و در بعضی آموزشها نیز از بورد STM32F103RET (به همراه بردبورد و تجهیزات ازایندست مثل سیم بردبورد و..) استفاده میشود. ابزارهای نرمافزاری موردنیاز هم STM32 Cube MX و Keil uVersion5 هستند. نرمافزار اول که توسط خود شرکت منتشرشده است، برای پیکربندی و راهاندازی پروژه و کد استفاده میشود. نرمافزار Keil نیز یک IDE شناختهشده است که برای توسعه کد پروژه و دیباگ و خطایابی آن کاربرد دارد.
208 نظر
6
همانطور که میدانید میکروکنترلرها یا پردازندههای ARM (تفاوت میکروکنترلر و پردازنده در ادامه ذکر خواهد شد، فعلاً این دو را معادل هم...
در قسمت اول از آموزش STM32 با توابع LL، در رابطه با پردازنده و میکروکنترلر صحبت کردیم و به تفاوتهای میکروکنترلر و...
در قسمت دوم از آموزش STM32 با توابع LL، در رابطه با چند بیتی بودن پردازنده و مزایای آن صحبت کردیم. در ادامه با نحوهی...
در قسمت چهارم از آموزش STM32 با توابع LL، با واحد RCC آشنا شدیم و جزئیات و دلیل وجود کلاک در مدارات دیجیتال را بررسی کردیم،...
در قسمت پنجم از آموزش STM32 با توابع LL، در رابطه با GPIO در حالت خروجی صحبت کردیم و به بررسی جزئیات...
در قسمت سوم از آموزش STM32 با توابع LL، یاد گرفتیم که در نرمافزار STM32CubeMX چگونه میتوان یک پروژه ایجاد کرد. همینطور در همان قسمت...
در قسمت ششم از آموزش STM32 با توابع LL، در رابطه با GPIO در حالت ورودی صحبت کردیم. نحوهی کار به این صورت...
در قسمت هفتم از آموزش STM32 با توابع LL، ابتدا در رابطه با کلیت و ذات وقفه صحبت کردیم و گفتیم که...
در قسمت هشتم از آموزش STM32 با توابع LL، ابتدا مقدمات پروتکل UART را بررسی کردیم و گفتیم که یک پکت دیتا...
در قسمت نهم از آموزش STM32 با توابع LL، ابتدا چالش بخش Receive یا همان دریافت دیتا در پروتکل UART را بررسی کردیم و...