اخواني ...
لنقول انه لدينا مايكروكنترولر ...
اذا انا اردت ان اعمل الآتي ، ان اضيئ ليد لونه احمر لمدة 20 ثانية مثلاً ، ثم
وضعت اي حساس فلنقول حساس دخان ، فأعطانا الحساس 5 فولت على احد اطراف المايكرو مشيراً لوجود الدخان ... فعند ذلك يضيء ليد اخضر لمدة ثانيتن
سيكون الكود كالآتي :
كود:
portb.b0=1;
delay_ms(20000);
if (porta.b0==1)
{
portb.b1=1;
delay_ms(2000)}
حسناً المشكلة هي ،انه لن يفحص المايكرو الطرف الموصول به حساس الدخان الا بعد مرورو ال20 ثانية التي تخص الليد الاحمر ... فما الحل يا اخوان ... قد تقولون لي استخدام المقاطعات ، لكن المقاطعة فيه برنامج واحد وليس اكثر من برنامج مقاطعة !! هل كلامي صحيح ؟