اطلاعیه

Collapse
No announcement yet.

مشکل در راه اندازی int1

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

    مشکل در راه اندازی int1

    سلام من یک مداری دارم که میخوام هر وقت پایه D.3 mega32 ولتاژ مثبت بشه مثلا یک BUZZER 50 میلی ثانیه صدا کنه....
    حالا اگه این D3 ممکنه به مدت 1 ثانیه یا هرچقد یک بمونه....من فقط میخوام یک بار اول اگه ولتاژ از صفر به یک میره توی پین D3 به تابع وقفه بره....درصورتی که تا زمانی که ولتاژ پایه یک باشه به تابع میره و این بازر صدا میده...
    من روی لبه ی بالارونده گذاشتم مگه نباید فقط یکبار اجرا بشه وقفه ؟ چرا همش اجرا میشه....

    کد:
    GICR|=0x80; //INT1 ENABLE
      MCUCR=0x03;
      MCUCSR=0x00;
      GIFR=0x80;

    #2
    پاسخ : مشکل در راه اندازی int1

    خیلی سادستا...
    فرمان 0 به 1 رو من از یک دستگاه بیرونی میگیرم که سطح منطقیه معمولیش 0 هس که توی یک زمانایی خروجی 1 میشه که لبه بالارونده int1 رو میسازه....

    چون سطح منطقیه اون دستگاه صفره من دیگه مقاومت pull up رو که فعال نکم؟میخوام در لحظه اول که 0 به 1 تغییر یدا میکنه روخداد فعال بشه ، و وقتی INT1 ولتاژ صفر رو داره هیچی نشه...

    من دوروزه سر این موضوع سرکارم... اصلا این وقفه int1 بی خودو بی جهت پشت هم فراخوانی میشه بدون اینکه int1 سطح منطقیش تغییر کنه...

    دیدگاه

    لطفا صبر کنید...
    X