فهرست مطالب:
- مرحله 1: وقفه گیرنده
- مرحله 2: فاصله زمانی دوره ای را تنظیم کنید
- مرحله 3: راه اندازی اولیه را قطع کنید
- مرحله 4: کجا کد خود را اضافه کنید
تصویری: آردوینو - وقفه دوره ای: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
این دستورالعمل در مورد استفاده از وقفه دوره ای برای زمان بندی در برنامه های آردوینو است. این یک گام برای برنامه نویس تازه کار Arduino است که می داند Arduino می تواند کارهای بیشتری انجام دهد ، اما نمی داند چگونه این کار را انجام دهد.
اگر مشکلی در عملکرد وجود دارد ، فرض می کنم که از یک یا چند تابع تاخیر () استفاده می کنید. ترفند این است که از تابع () تاخیر خلاص شوید و یک وقفه را جایگزین کنید. تابع تاخیر () آردوینو را مجبور می کند در حالی که منتظر تکمیل تاخیر () است هیچ کاری انجام ندهد. استفاده از وقفه به برنامه شما اجازه می دهد تا کارهای دیگری را انجام دهید در حالی که منتظر پایان تاخیر هستید. معمولاً مقدار زیادی از زمان مرده بلااستفاده وجود دارد که می تواند برای موارد دیگر هنگام استفاده از تأخیر () استفاده شود. با استفاده از وقفه این مشکل برطرف می شود.
مرحله 1: وقفه گیرنده
1. کنترل کننده وقفه را به برنامه خود اضافه کنید. فقط کافی است جایی بالاتر از setup () کپی و جایگذاری کنید.
const بدون علامت طولانی TIMER0_COUNT = 500 ؛ // فاصله تایمر 500 میلی ثانیه
// TIMER0 interrupt handler volatile bool time = false؛ ISR (TIMER0_COMPA_vect) {تعداد طولانی بدون علامت ثابت = 0 ؛ if (++ تعداد> TIMER0_COUNT) {count = 0؛ زمان = درست ؛ // زمان در هر TIMER0_COUNT میلی ثانیه روی true تنظیم شده است // (زمان باید در روال اصلی پاک شود)}
مرحله 2: فاصله زمانی دوره ای را تنظیم کنید
2. فاصله زمانی را تنظیم کنید. این روال معمولی خود را روی وقفه TIMER0 پشت می کند ، که قرار است هر 1 میلی ثانیه پهن شود.
"فاصله" شما تعداد وقفه های TIMER0 برای پردازش است. هر فاصله m 1 ثانیه است ، بنابراین شما واقعاً تعیین می کنید که چند وقفه TIMER0 قبل از فعال کردن فاصله خود شمارش کنید. IOW ، متغیر TIMER0_COUNT را بر حسب میلی ثانیه ای که می خواهید صبر کنید ، تنظیم کنید. به عنوان مثال ، از 500 در نیم ثانیه استفاده کنید. از 3000 برای 3 ثانیه استفاده کنید.
مرحله 3: راه اندازی اولیه را قطع کنید
3. کد "مقداردهی اولیه TIMER0" را به روش setup () خود اضافه کنید. دوباره ، فقط کافی است در setup () کپی و جایگذاری کنید.
// *** راه اندازی اولیه TIMER0 ***
cli ()؛ // خاموش کردن همه وقفه ها TIMSK0 = 0؛ // تایمر 0 را برای jitter پایین تر OCR0A = 0xBB خاموش کنید ؛ // شمارش وقفه دلخواه TIMSK0 | = _BV (OCIE0A) ؛ // پیگگی بازگشت به interrupt sei ()؛ // وقفه ها را دوباره روشن کنید
مرحله 4: کجا کد خود را اضافه کنید
4. کد "time check" را به حلقه () حلقه خود اضافه کنید. در حلقه () کپی و جایگذاری کنید.
اگر (زمان) {
زمان = غلط ؛ // کاری در اینجا انجام دهید}
"زمان = غلط ؛" خط مهم است بدون این خط ، خط (ها) "در اینجا کاری انجام دهید" هر بار که برنامه حلقه () را اجرا می کند اجرا می شود.
البته ، شما فعالیت های خود را در خط "کاری در اینجا انجام دهید" جایگزین کنید. کار را با چاپ مقداری متن یا چشمک زدن LED شروع کنید.
تمام شدی!
توصیه شده:
نحوه ایجاد و طراحی دوره موانع FPV برای کوادکوپترها: 6 مرحله
نحوه ساختن و طراحی یک دوره موانع FPV برای کوادکوپترها: بنابراین چندی پیش من با لارو x در حیاط خلوتم پرواز می کردم و بسیار سرگرم کننده بود. آنقدر سرگرم شدم که به جایی رسیدم که می خواستم اوضاع را کمی پیچیده تر کنم زیرا احساس می کردم خیلی آسان شده است. من برنامه ای برای دوره fpv برای خودم ارائه کردم
گزارش دوره ای اکسل: 6 مرحله
گزارش دوره ای Excel: در اینجا نکات من در مورد گزارش های دوره ای مصرف در Excel 2010 آمده است. در فیلم آموزشی زیر ، این گزارش به ما در مورد مصرف خاص برق ، آب ، اکسیژن ، نیتروژن در هر تن از محصولات نهایی ، طبق هفته نامه ، ماهانه ، سه ماهه
آردوینو 101: دوره از مرد فن: 4 مرحله
Arduino 101: The Course From Tech Guy: امیدوارم بسیاری از افراد ، به ویژه مبتدیان ، که می خواهند وارد دنیای آردوینو شوند ، از این و سایر مقالات/دستورالعمل های من (که من قصد دارم به طور منظم آنها را پست کنم) مفید بدانند. .این شبیه یک درس معمولی کپی و خمیر نیست. آی تی
جدول تناوبی LED دوره ای: 12 مرحله (همراه با تصاویر)
جدول تناوبی LED تعاملی: من و دوست دخترم یک مجموعه عنصر داریم - نمونه هایی از تکه های منحصر به فرد ماده که همه چیز را در جهان تشکیل می دهد! برای چنین مجموعه ای جالب ، تصمیم گرفتم یک ویترین بسازم که نمونه ها را در تمام ساختار جهانی خود نشان دهد
ارزان ترین آردوینو -- کوچکترین آردوینو -- آردوینو پرو مینی -- برنامه نویسی -- آردوینو ننو: 6 مرحله (همراه با تصاویر)
ارزان ترین آردوینو || کوچکترین آردوینو || آردوینو پرو مینی || برنامه نویسی || آردوینو ننو: …………………………. لطفاً برای ویدیوهای بیشتر به کانال YouTube من مشترک شوید ……. .این پروژه در مورد نحوه ارتباط با کوچکترین و ارزانترین آردوینو است. کوچکترین و ارزان ترین آردوینو arduino pro mini است. شبیه آردوینو