اطلاعیه

Collapse
No announcement yet.

مشکل عجیب در خصوص وقفه خارجی INT0

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل عجیب در خصوص وقفه خارجی INT0

    سلام خدمت دوستان یه مشکل خیلی عجیب بهش برخوردم که هر کاری کردم درست نشد ( تو نرم افزار پرتیوس به خوبی عمل میکنه اما در عمل نه
    میخوام هرموقع وقفه خارجی INT0 یک لبه پایین رونده بهش امد یک پین را معکوس کنه.کد زیر نوشتم اما جواب نگرفتم.و زمانیکه پین INT0 را صفر میکنم .خروجی معکوس میشه ولی به محض اینکه مجددا این پین (یعنی همان INT0 یک میشه باز تابع وقفه اجرا میشه و پین را معکوس میکنه
    ممکنه کمکم کنید.این هم برنامه ام
    while(1){
    }
    interrupt input(void)
    if (INT0IF && INT0IE(
    INT0IF =0;
    PORTBbits.RB1 (1^PORTBbits.RB1) ;
    }
    ضمنا توی برنامه بیت INTEDG0 را هم صفر کردم تا بردار وقفه با لبه پایین رونده عمل کنه.اخه چرا وقتی بردار وقفه عمل میکنه و من تو بردار وقفه حتی امدم فلگ مربوطه یعنی INT0IF را هم صفر کردم ولی باز دستم را که از کلید برمیدارم .مجددا خروجی من معکوس میشه
    جدیدترین ویرایش توسط mostafa6369; ۱۲:۴۲ ۱۳۹۹/۰۴/۰۱.
لطفا صبر کنید...
X