اطلاعیه

Collapse
No announcement yet.

مشکل با وقفه ....

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

    مشکل با وقفه ....

    سلام بچه ها
    من یه برنامه واسه وقفه نوشتم
    خیلی ساده ولی جواب نمیده :angry:
    تو کد ویزارد وقفه خارجی رو فعال کردم و واسه تست کردنش، داخل روتین وقفه ، یه LED رو روشن کردم
    اینم بگم که تولید وقفه ها توسط ماژول اوپتوکانتر انجام میشه .( با گذاشتن مانع بین دهانه اوپتوکانتر تست میکنم)
    ولی نمیدونم چرا یه بار وقفه تولید میشه دوسه بار نمیشه و همینطور نامنظمه oo:
    اونایی که با وقفه کار کرده تنظیماتش چجوریه؟ دارم هنگ میکنم

    #2
    پاسخ : مشکل با وقفه ....

    معمولا تا کدتون رو نزارید به نتیجه خاصی نمیرسید

    head<=
    ...تشکر خدا...
    [img width=97 height=100]http://mahdi3d.persiangig.com/image/5280543_t.jpg[/img]

    دیدگاه


      #3
      پاسخ : مشکل با وقفه ....

      نوشته اصلی توسط (مهدی رنجبر)m4hd1r
      معمولا تا کدتون رو نزارید به نتیجه خاصی نمیرسید
      کدش که خیلی سادس آخه!!!
      [code=cpp]
      // External Interrupt 0 service routine
      interrupt [EXT_INT0] void ext_int0_isr(void)
      {
      PORTC.5=1;
      delay_ms(100);
      PORTC.5=0;
      }
      [/code]

      دیدگاه


        #4
        پاسخ : مشکل با وقفه ....

        اصا چرا وقتی سیم جروجی اوپتوکانتر رو درمیارم وقفه دائما اجرا میشه ؟؟!
        نویز؟؟؟
        من با مقاومت 4.7 پول پش کردم ولی بازم نامنظم به روتین وقفه میره

        دیدگاه


          #5
          پاسخ : مشکل با وقفه ....

          وقفه حساس به چیه ؟
          لبه بالا رونده ، پایین رونده ؟ سطح ؟
          مدارت رو بزار . تنظیمات رو هم بزار .( رجیستر های GICR , MCUCR , MCUCSR )


          100 میلی ثانیه کم نیست ؟ یه چشمک سریع ! بکنش 1000 میلی ثانیه حداقل یه چیزی ببینی .
          إِنَّ الَّذِینَ یُحِبُّونَ أَنْ تَشِیعَ الْفاحِشَهُ فِی الَّذِینَ آمَنُوا لَهُمْ عَذابٌ أَلِیمٌ فِی الدُّنْیا وَ الْآخِرَهِ وَ اللَّهُ یَعْلَمُ وَ أَنْتُمْ لا تَعْلَمُونَ.
          کسانى که دوست دارند زشتی ها در میان مردم با ایمان شیوع یابد عذاب دردناکى براى آنها در دنیا و آخرت است، و خداوند میداند و شما نمی‏دانید. (نور19)

          دیدگاه


            #6
            پاسخ : مشکل با وقفه ....

            نوشته اصلی توسط سید محمدِ علوی
            وقفه حساس به چیه ؟
            لبه بالا رونده ، پایین رونده ؟ سطح ؟
            مدارت رو بزار . تنظیمات رو هم بزار .( رجیستر های GICR , MCUCR , MCUCSR )


            100 میلی ثانیه کم نیست ؟ یه چشمک سریع ! بکنش 1000 میلی ثانیه حداقل یه چیزی ببینی .
            حساس به لبه بالا رونده
            [code=cpp]
            #include <mega8.h>
            #include <delay.h>

            // External Interrupt 0 service routine
            interrupt [EXT_INT0] void ext_int0_isr(void)
            {
            PORTC.5=1;
            delay_ms(100);
            PORTC.5=0;


            }

            // Declare your global variables here

            void main(void)
            {
            .
            .
            .
            .
            ..PORTC=0x00;
            DDRC=0x20;
            .
            ...
            GICR|=0x40;
            MCUCR=0x03;
            GIFR=0x40;

            {
            [/code]

            مدارشم یه Atmega 8 که یه LED به پایه PC.5 وصل شده

            واسه 100 میلی ثانیه هم اینقدی هس که بشه فهمید وقفه فعال شده
            ولی زیادشم کردم فرقی نداشت

            اگه کسی بلده کمک کنه لازم دارم ........... :applause:

            دیدگاه


              #7
              پاسخ : مشکل با وقفه ....

              لبه بالا رونده تنظیم کردید و پول پ گذاشتید .
              مدار تحریک کننده رو بردار و بجاش یه سیم خالی به پایه int0 وصل کن و اون سرش رو به زمین بزن . موقع جدا کردن باید اینتراپت بخوره . چند بار این کارو بکن . اگه مشکل نداشت مشکل از منطق اون مداره .

              وقفه همگانی فعال شده ؟
              پایه اینتراپت صفر ورودی تعریف شده ؟ ( باید ورودی باشه )

              برنامه رو کامل بزار.
              الان این برنامه حلقه while نداره ؟خب اگه این مدلی باشه مشکل داره .
              إِنَّ الَّذِینَ یُحِبُّونَ أَنْ تَشِیعَ الْفاحِشَهُ فِی الَّذِینَ آمَنُوا لَهُمْ عَذابٌ أَلِیمٌ فِی الدُّنْیا وَ الْآخِرَهِ وَ اللَّهُ یَعْلَمُ وَ أَنْتُمْ لا تَعْلَمُونَ.
              کسانى که دوست دارند زشتی ها در میان مردم با ایمان شیوع یابد عذاب دردناکى براى آنها در دنیا و آخرت است، و خداوند میداند و شما نمی‏دانید. (نور19)

              دیدگاه


                #8
                پاسخ : مشکل با وقفه ....

                لطفا شماتیک مدار رو بذارین تا بررسی بشه ...
                تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
                علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

                دیدگاه

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