فیلم آموزش وقفه در STM32 – جلسۀ 4 آموزش STM32

در فیلم آموزش وقفه در STM32 به تشریح وقفۀ خارجی، راه اندازی آن در میکروکنترلرهای ARM STM32F1، وقفه نرم افزاری، Event و راه اندازی Event در STM32 می پردازیم.

۹۷,۰۰۰ تومان

فروش ویژه
آموزش-stm32

رضا اسدی

مدیر یوبرد، خالق و توسعه دهندۀ پلتفرم یوبرد، مجری پروژه های الکترونیکی، فعال در صنعت آسانسور، سابقه فعالیت در صنعت خودرو و همکاری در صنعت پزشکی و صنایع دیگر، آموزگار آموزش های یوبرد

فیلم آموزش وقفه در STM32 جلسۀ چهارم فیلم آموزش ARM STM32 مقدماتی یوبرد است. اگرچه تئوری وقفه را در این جلسه بیان می کنیم، اما منظور ما از وقفه در  اینجا، وقفۀ خارجی است. وقفه های واحدهای داخلی دیگر را، در جلسات مربوط به آنها تشریح می کنیم. در این جلسه وقفۀ خارجی میکروکنترلرهای STM32 سری F1 را مورد بحث و بررسی قرار می دهیم. منظور ما از میکروکنترلرهای STM32 سری F1 یا STM32F1، میکروکنترلرهای STM32F101/2/3/5/7xx است. وقفه یکی از امکانات مفید در میکروکنترلرهاست که CPU را از بررسی وقوع اتفاقاتی، خلاص می کند. در واقع وقفه فرایندی است که طی آن CPU از وقوع یک واقعه مطلع می شود، بدون آن که دائماً درگیر بررسی آن باشد. اگر وقفه ها وجود نداشته باشند، باید در برنامه وقوع اتفاقات را بررسی کنیم و CPU باید به طور دائم درگیر بررسی وقوع اتفاقات باشد. اما با استفاده از وقفه ها این کار لازم نیست. و به این صورت با وجود وقفه ها کارایی CPU افزایش می یابد. بنابراین وجود وقفه ها و به کارگیری آنها در پروژه ها اهمیت پیدا می کند. وقفۀ خارجی در میکروکنترلرهای STM32، در بسیاری از ویژگی ها، مشابه وقفه خارجی در میکروکنترلرهای AVR است. اما تفاوت هایی نیز وجود دارد که حین آموزش وقفه خارجی در STM32، به آنها می پردازیم. در وقفه های میکروکنترلرهای STM32 امکانات دیگری نیز وجود دارد. مثل تغییر اولویت وقفه ها و مباحث Preempt priority و Sub priority. و به طور کلی مباحث وقفۀ خارجی این میکروکنترلرها تا حدودی مشکل تر از وقفه خارجی در AVR است. بنابراین لازم دانستیم برای آموزش وقفه خارجی در STM32 جلسه ای را در نظر بگیریم. طبق روالی که از تجربۀ سال های گذشته به دست آورده ایم، ابتدا مقدماتی را بیان می کنیم. سپس تئوری وقفۀ خارجی میکروکنترلرهای STM32 را بررسی می کنیم و در نهایت نمونه کدهایی را بررسی می کنیم. در ادامه مباحثی را که در این جلسۀ آموزش میکروکنترلرهای ARM STM32 مقدماتی یوبرد آورده ایم، بررسی می کنیم.

فیلم آموزش میکروکنترلرهای AVR مقدماتی

فیلم آموزش آردوینو مقدماتی

زمان فیلم آموزش: 1 ساعت و 42 دقیقه

  • این فیلم آموزشی در راستای افزایش کیفیت، ویرایش شده است. با توجه به میسّر نبودن حضور مهندس رضا اسدی در افزودن مباحث جدید، برخی از این مباحث را مهندس رضا بداغی ارائه کرده اند.
  • تنها در سیستم عامل ویندوز و فقط در یک سیستم قابل پخش است.
  • بلافاصله پس از پرداخت، از طریق حساب کاربری قابل دانلود است.
  • به همۀ موضوعات مرتبط پرداخته است و در آن نکته ای از قلم نیفتاده و در سرفصل های ارائه شده، جامع است.
  • آموزش های یوبرد هم به صورت جلسه های مجزا و هم برخی از آنها به صورت پک هایی شامل چند جلسه، قابل تهیه هستند. برخی از آموزش ها، علاوه بر جلسات پک، جلسات دیگر و اغلب، آموزش خصوصی نیز دارند. برای مشاهدۀ جلسات STM32 و آموزش خصوصی آن، می توانید به آموزش STM32 مراجعه کنید.

آموزش-وقفه-خارجی-stm32f1

تصویر 1 – آموزش وقفه در میکروکنترلرهای STM32F1

سرفصل های فیلم آموزش وقفه در STM32

موضوعات مورد بحث فیلم آموزش وقفه در STM32 عبارتند از:

  • تعریف و مقدمۀ وقفه: در این بخش از جلسۀ چهارم فیلم آموزش ARM STM32 به تعریف وقفه و تئوری وقفه می پردازیم.
  • اصطلاحات و عبارات مرتبط با وقفه و تئوری وقفه در میکروکنترلرها: مباحثی مثل منابع وقفه، روتین وقفه، بردار وقفه و اولویت وقفه ها را در این بخش از فیلم آموزش STM32 بررسی می کنیم. همچنین به سؤالات «چه چیزی باعث اتفاق افتادن وقفه می شود؟»، «CPU پس از اتمام دستورهای روتین وقفه، چطور به محل قبلی برنامۀ اصلی که در حال اجرای آن بود برمی گردد؟» و «روتین وقفه در کجا ذخیره می شود؟» پاسخ می دهیم. دربارۀ کاربرد کلی وقفه و وقفۀ خارجی، Program counter، پشته یا Stack، رجیستر وضعیت، اجرای روتین وقفه و در کل مراحل اتفاق افتادن و اجرای وقفه صحبت می کنیم.
  • اولویت وقفه ها: ابتدا اشاره ای به اولویت وقفه ها در AVR می کنیم. سپس مباحث تئوری اولویت وقفه ها را در میکروکنترلرهای STM32F1 بررسی می کنیم. مباحث دیگر این بخش فیلم آموزش STM32 یوبرد، NVIC در میکروکنترلرهایی با CPUی Cortex-M3، مبحث Priority group و دو نوع اولویت Preempt و Sub هستند. (اولویت وقفه در میکروکنترلرهای STM32)
  • فعال کردن وقفه ها و پرچم وقفه ها: در این بخش از آموزش ARM STM32، دربارۀ فعال کردن وقفه های میکروکنترلرهای AVR و میکروکنترلرهایی با CPUی Cortex-M3، مبحث NMI و MI و پرچم وقفه ها و پاک کردن/شدن آنها صحبت می کنیم.
  • آموزش وقفه در میکروکنترلرهای ARM STM32 سری F1
  • پایه های ورودی وقفۀ خارجی در این میکروکنترلرها
  • شرایط اتفاق افتادن وقفۀ خارجی: که می تواند لبۀ بالا رونده، لبۀ پایین رونده یا هر دو لبۀ سیگنال ورودی باشد.
  • روتین های وقفه خارجی در STM32F1
  • تشریح رجیسترهای وقفۀ خارجی: این رجیسترها عبارتند از IMR و EMR و SWIER و RTSR و FTSR و PR.
  • بررسی نمونه کدهای وقفه خارجی در STM32F1: شامل نمونه کد رجیستری وقفه خارجی در STM32، راه اندازی وقفه خارجی در STM32 با توابع HAL و مشاهدۀ نتیجۀ نمونه کدها در عمل.

نمونه-کد-رجیستری-وقفه-stm32f1

تصویر 2 – بخشی از نمونه کد رجیستری وقفه خارجی STM32 و تصویری از بررسی عملی آن

  • مروری بر پدیدۀ Bounce و Debounce نرم افزاری و سخت افزاری: که برای بهبود عملکرد وقفۀ خارجی در اتصال دکمه به پایۀ ورودی، باید Bounce روی ورودی را خنثی کنیم. در این بخش دربارۀ روش های نرم افزاری و سخت افزاری دیبانس صحبت می کنیم.
  • وقفه نرم افزاری، رجیستر مربوط و نمونه کد وقفه نرم افزاری در STM32: در میکروکنترلرهای STM32 می توان با نوشتن در یک رجیستر، شرایط اتفاق افتادن وقفه را ایجاد کرد. در این بخش به تحریک نرم افزاری وقفۀ خارجی می پردازیم.
  • آموزش Event در STM32، رجیسترهای مربوط و نمونه کد Event در STM32: که Event را تعریف و تفاوت وقفه و Event در STM32 را بررسی می کنیم. سپس رجیستر مربوط به آن و همچنین نمونه کدهای Event را توضیح می دهیم.

در فیلم آموزش وقفه در STM32، همۀ نکات و جزئیات را برای راه اندازی وقفه خارجی در STM32 تشریح کرده ایم. به طوری که دانش پذیر پس از مشاهدۀ آن و تمرین نمونه کدها، خود می تواند وقفۀ خارجی میکروکنترلرهای STM32 را راه اندازی کند.

پیش نمایش – اولویت وقفه ها در میکروکنترلرهای ARM STM32

ضبط پیام صوتی

زمان هر پیام صوتی 4 دقیقه است