جدول المحتويات:
- الخطوة 1: معالج المقاطعة
- الخطوة 2: ضبط الفاصل الزمني الدوري
- الخطوة 3: مقاطعة التهيئة
- الخطوة 4: أين تضيف الرمز الخاص بك
فيديو: اردوينو - المقاطعة الدورية: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
يدور هذا Instructable حول استخدام مقاطعة دورية للتوقيت في برامج Arduino. هذه خطوة لمبرمج Arduino ناشئ يعرف أن Arduino يمكنه فعل المزيد ، لكنه لا يعرف تمامًا كيفية تحقيق ذلك.
إذا كانت هناك مشكلة في الأداء ، أفترض أنك تستخدم وظيفة واحدة أو أكثر من وظائف (). الحيلة هي التخلص من وظيفة () التأخير () واستبدال المقاطعة. تجبر وظيفة التأخير () Arduino على عدم القيام بأي شيء أثناء انتظار اكتمال التأخير () يسمح استخدام المقاطعة لبرنامجك بالقيام بأشياء أخرى أثناء انتظار نهاية التأخير. عادة ما يكون هناك قدر كبير من الوقت الميت غير المستخدم والذي يمكن استخدامه لأشياء أخرى عند استخدام التأخير (). استخدام المقاطعة يحل هذه المشكلة.
الخطوة 1: معالج المقاطعة
1. أضف معالج المقاطعة إلى برنامجك. فقط انسخ والصق في مكان ما فوق الإعداد () ؛
ثابت بدون توقيع طويل TIMER0_COUNT = 500 ؛ // 500 مللي ثانية فاصل زمني للمؤقت
// TIMER0 interrupt handler volatile bool time = false ؛ ISR (TIMER0_COMPA_vect) {عدد طويل ثابت غير موقعة = 0 ؛ إذا كان (عدد ++> TIMER0_COUNT) {عدد = 0 ؛ الوقت = صحيح ؛ // الوقت مضبوط على "صحيح" كل TIMER0_COUNT مللي ثانية // (يجب مسح الوقت في الروتين الرئيسي)}
الخطوة 2: ضبط الفاصل الزمني الدوري
2. ضبط الفاصل الزمني. هذا الروتين على ظهره على المقاطعة TIMER0 ، والتي تم ضبطها لإطلاق كل ~ 1 ميللي ثانية.
"الفاصل الزمني" هو عدد المقاطعات TIMER0 المراد معالجتها. تبلغ كل فاصل زمني حوالي 1 مللي ثانية ، لذا فأنت تقوم بالفعل بتعيين عدد المقاطعات TIMER0 للعد قبل تنشيط الفاصل الزمني الخاص بك. IOW ، اضبط المتغير TIMER0_COUNT على أي عدد من المللي ثانية تريد الانتظار. على سبيل المثال ، استخدم 500 لمدة نصف ثانية. استخدم 3000 لمدة 3 ثوان.
الخطوة 3: مقاطعة التهيئة
3. أضف رمز "TIMER0 التهيئة" إلى طريقة الإعداد (). مرة أخرى ، فقط انسخ والصق في الإعداد ().
// *** تهيئة TIMER0 ***
cli () ؛ // قم بإيقاف تشغيل جميع المقاطعات TIMSK0 = 0 ؛ // إيقاف تشغيل timer0 لانخفاض الارتعاش OCR0A = 0xBB ؛ // عدد المقاطعات التعسفية TIMSK0 | = _BV (OCIE0A) ؛ // piggy back on interrupt sei () ؛ // قم بتشغيل المقاطعات مرة أخرى
الخطوة 4: أين تضيف الرمز الخاص بك
4. أضف كود "فحص الوقت" إلى طريقة الحلقة (). انسخ والصق في حلقة ().
إذا (الوقت) {
الوقت = خطأ ؛ // افعل شيئًا هنا}
"الوقت = خطأ ؛" الخط مهم. بدون هذا السطر ، سيتم تنفيذ سطر (أسطر) "افعل شيئًا هنا" في كل مرة ينفذ فيها البرنامج loop ().
بالطبع ، يمكنك استبدال الأنشطة الخاصة بك في سطر "افعل شيئًا هنا". ابدأ بطباعة بعض النصوص أو وميض مؤشر LED.
انت انتهيت!
موصى به:
نظام اردوينو لتنبيه وقوف السيارة عند الرجوع للخلف - خطوات خطوة: 4 خطوات
نظام اردوينو لتنبيه وقوف السيارة عند الرجوع للخلف | خطوات بخطوة: في هذا المشروع ، سأصمم دائرة مستشعر لعكس مواقف السيارات من Arduino باستخدام مستشعر الموجات فوق الصوتية Arduino UNO و HC-SR04. يمكن استخدام نظام التنبيه العكسي للسيارة المستند إلى Arduino للتنقل الذاتي ومجموعة الروبوتات وغيرها من النطاقات
مقياس اردوينو لوكس - واجهة OPT3001 مع اردوينو: 4 خطوات
Arduino Lux Meter - واجهة OPT3001 مع Arduino: نواجه عمومًا الموقف ، حيث نحتاج إلى قياس شدة الضوء. لذلك قررت أن أقوم بمشروع صغير سيساعدنا في حل هذه المشكلة. يوضح هذا المشروع كيف يمكننا استخدام OPT3001 مع Arduino كمقياس لوكس. في هذا المشروع ، لدي
كيف تصنع رادار مع اردوينو - مشروع اردوينو: 4 خطوات
كيف تصنع رادار مع اردوينو | مشروع Arduino: في هذه المقالة سوف أعلمك كيف يمكنك عمل رادار بسيط باستخدام اردوينو. شاهد فيديو تعليمي كامل هنا: انقر فوقي
الدورية شجرة عيد الميلاد LED: 4 خطوات
الدورية شجرة عيد الميلاد LED: مرحبًا! لقد صنعت شجرة عيد الميلاد LED الدوارة ذات المظهر الرائع مع أقاربي الذين تتراوح أعمارهم بين 10 و 12 عامًا من قطع غيار رخيصة وسهلة الحصول عليها. يتكون مقطع الفيديو الخاص بي في YoutTube من 3 أجزاء (3 مستويات من الصعوبة) ، لذلك آمل أن يجدها أحد الهواة أيضًا من ذوي الخبرة
أرخص اردوينو -- أصغر اردوينو -- اردوينو برو ميني -- البرمجة -- اردوينو نينو: 6 خطوات (مع صور)
أرخص اردوينو || أصغر اردوينو || اردوينو برو ميني || البرمجة || اردوينو نينو: …………………………. الرجاء الاشتراك في قناتي على يوتيوب لمزيد من مقاطع الفيديو ……. يدور هذا المشروع حول كيفية التعامل مع أصغر وأرخص اردوينو على الإطلاق. أصغر وأرخص اردوينو هو اردوينو برو ميني. إنه مشابه لاردوينو