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

موضوع فیلم آموزش وقفه در آردوینو، تشریح کامل مفهوم وقفه در میکروکنترلرها و آردوینو، تئوری وقفه خارجی و راه اندازی وقفه خارجی و وقفه Pin change است.

۶۴,۰۰۰ تومان

آموزش-stm32

رضا بداغی

عضو هیئت مدیره یوبرد، طراح و برنامه نویس سیستم های دیجیتال مبتنی بر میکروکنترلر، طراح PCB و مدرس آموزش های میکروکنترلر، طراحی PCB و برنامه نویسی میکروکنترلر

فیلم آموزش وقفه در آردوینو را به عنوان جلسۀ پنجم فیلم آموزش آردوینو مقدماتی یوبرد ارائه می کنیم. وقفه در آردوینو و میکروکنترلر از مباحث مهم است و در پروژه ها استفاده های زیادی دارد. بنابراین ما در این جلسه به موضوع وقفه می پردازیم تا در جلسات آیندۀ آموزش آردوینو که از وقفه صحبت می کنیم، از قبل با آن آشنایی داشته باشیم. وقفه یک فرایند است که طی آن، CPU از وقوعِ یک اتفاق، مطلع می شود. هنگامی که شرایط وقفه به وجود می آید، CPU دستورهای در حال اجرا را رها می کند. در این مرحله می گوییم وقفه اتفاق افتاده است. پس از اتفاق افتادن وقفه، CPU شروع به اجرای دستورهای روتین وقفه می کند. پس از اتمام دستورهای روتین وقفه، CPU دستورهای برنامۀ اصلی را از جایی که رها کرده بود، اجرا می کند. مراحل فرایند وقفه در میکروکنترلرهای AVR به صورت زیر است:

  • به وجود آمدن شرایط وقفه؛
  • اتمام اجرای دستور حاضر و ذخیرۀ آدرس دستور بعدی (برنامۀ اصلی) در پشته؛
  • خواندن آدرس روتین وقفه از بردار وقفه و پرش به آن آدرس؛
  • اجرای دستورهای روتین وقفه تا انتهای آن؛
  • خواندن آدرس دستور برنامۀ اصلی از پشته و قرار دادن آن در شمارندۀ برنامه و ادامۀ اجرای دستورهای برنامۀ اصلی.

در فیلم آموزش وقفه در آردوینو علاوه بر وقفه خارجی، وقفه Pin change را هم بررسی می کنیم. وقفه Pin change در برخی میکروکنترلرهای AVR مانند میکروکنترلرهای روی بردهای Arduino UNO/Nano/Mega وجود دارد. تفاوت هایی میان وقفه های خارجی و وقفه های Pin change هست که در فیلم آموزش وقفه خارجی در آردوینو آنها را بیان می کنیم.

وقفه خارجی در AVR

اولویت وقفه در STM32

راه اندازی وقفه خارجی در STM32

وقفه ها در پروژه های مبتنی بر میکروکنترلر و آردوینو اهمیت فراوان دارند. وقفه های تایمر، وقفه های پروتکل های ارتباطی، وقفه های واحدهای آنالوگ و وقفه های واحدهای دیگر، در برنامه نویسی پروژه ای که بتوان آن را Real-time توصیف کرد، نقشی اساس دارند. وقفه و وقفه خارجی در آردوینو به سادگی قابل استفاده هستند. کافی است توابعی را اجرا کنیم و آنها را به کار بگیریم. اما آنچه اهمیت دارد، تئوری وقفه و روش به کارگیری آن است. که در این جلسه از فیلم آموزش Arduino، وقفه و وقفه خارجی در آردوینو را به طور کامل تشریح می کنیم. به گونه ای که می توانیم بگوییم هیچ نکتۀ مبهمی باقی نمی ماند.

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

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

آموزش-وقفه-آردوینو

تصویر 1 – فیلم آموزش آردوینو، آموزش وقفه در Arduino

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

در جلسۀ آموزش وقفه خارجی در آردوینو، این موضوعات را بررسی می کنیم:

  • تعریف وقفه، وقفه چیست و چه کاربردهایی دارد: در این بخش از فیلم آموزش Arduino به تعریف وقفه، مفهوم و کاربردهای آن و لزوم استفاده از آن می پردازیم.
  • اصطلاحات و عبارات حول موضوع وقفه: که مفاهیم و کاربردهای وقفه را روشن تر می کنند. این اصطلاحات عبارتند از منابع وقفه، روتین وقفه، بردار وقفه، اولویت وقفه ها و پرچم کلی وقفه ها. در این قسمت از جلسۀ پنجم فیلم آموزش Arduino، این عبارات و اصطلاحات را بررسی می کنیم.
  • وقفه خارجی در آردوینو: در این بخش از پکیج آموزش آردوینو به وقفه خارجی در آردوینو UNO و Nano و Mega و برد STM32 Nucleo-F103RB می پردازیم. و پایه های ورودی وقفه خارجی را در این بردها بررسی می کنیم. همچنین شرایط اتفاق افتادن وقفه خارجی در بردهای مذکور را تشریح می کنیم. که این شرایط لبۀ پایین روندۀ سیگنال، لبۀ بالا روندۀ آن، سطح Low، سطح High، هر دو لبه یا تغییر سطح سیگنال هستند.
  • وقفه پین چنج در آردوینو: وقفه های Pin change نوعی دیگر از وقفه خارجی هستند که هر کدام از آنها تعدادی پایۀ ورودی دارند. یعنی تعدادی از پایه های ورودی، یک وقفۀ مشترک دارند. در این بخش از فیلم آموزش Arduino، آنها را شرح می دهیم.
  • پایه های وقفه خارجی و وقفه Pin change در آردوینو: وقفه های خارجی و وقفه های Pin change، تعدادی از پایه های ورودی بردهای آردوینو را به خود اختصاص داده اند. در این بخش از فیلم آموزش وقفه در آردوینو، پایه های ورودی این وقفه ها را بررسی می کنیم.
  • نکاتی دربارۀ وقفه خارجی و وقفه Pin change: این وقفه ها و نحوۀ به کارگیری آنها در پروژه ها، نکاتی دارند که در این بخش از فیلم آموزش Arduino آنها را بیان می کنیم.
  • شرایط اتفاق افتادن وقفه خارجی در Arduino UNO/Nano/Mega و Nucleo-F103RB: منظور از شرایط اتفاق افتادن وقفه، آن مشخصه ای از سگینال ورودی است که اگر روی ورودی وقفۀ خارجی به وجود بیاید، وقفه اتفاق می افتد. که این مشخصه ها عبارتند از لبه های سیگنال و سطح High و Low آن. در این بخش از فیلم آموزش آردوینو، به بررسی این شرایط می پردازیم.
  • توابع و ماکروهای وقفه خارجی و وقفه Pin change: که به توابع وقفه خارجی در آردوینو و توابع وقفه Pin change در آن می پردازیم. که تابع راه اندازی وقفه خارجی در آردوینو، تابع غیر فعال کردن وقفه خارجی، روتین وقفه، ماکروهای تبدیل شمارۀ پایه به شمارۀ وقفه خارجی، ماکروهای مربوط به فعال و غیر فعال کردن مجوز کلی وقفه ها و توابع و ماکروهای وقفه Pin change را در این بخش از فیلم آموزش آردوینو تشریح می کنیم.
  • تفاوت های وقفه خارجی و وقفه Pin change در آردوینو: وقفه های پین چنج در بردهای آردوینوی مبتنی بر میکروکنترلرهای AVR مورد استفادۀ ما وجود دارند. این وقفه ها با وقفه های خارجی تفاوت هایی دارند که در این بخش از فیلم آموز آردوینو آنها را بررسی می کنیم.

شبیه-سازی-پروژه-آردوینو

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

  • پروژه های آموزش وقفه خارجی در آردوینو: که پروژه هایی از پیش آماده را باز می کنیم، کدهایی را که نوشته ایم توضیح می دهیم، شبیه سازی و نتیجۀ آنها را در عمل مشاهده می کنیم. در این بخش از فیلم آموزش آردوینو به نکاتی دربارۀ شرایط مختلف اتفاق افتادن وقفه، نحوۀ اتفاق افتادن وقفه، نحوۀ اجرا شدن روتین وقفه، به کارگیری متغیرهایی از نوع volatile، روشی نرم افزاری برای Debounce و … می پردازیم. پروژه های این جلسه را در نرم افزارهای Arduino IDE، ویژوال استودیو و VS Code نوشته ایم. راه اندازی وقفه خارجی در STM32 با آردوینو را نیز در این بخش بررسی می کنیم.

برنامه نویسی میکروکنترلرها با ویژوال استودیو

راه اندازی آردوینو، شروع کار با Arduino

راه اندازی STM32 با آردوینو

پیش نمایش – راه اندازی وقفه خارجی در آردوینو با نرم افزار VS Code

ضبط پیام صوتی

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