اطلاعیه

Collapse
No announcement yet.

شروع بی درنگ تایمر

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

    شروع بی درنگ تایمر

    سلام
    من می خواهم که یک تایمر بلافاصله پس از اینکه من فرمان را صادر کردم به کار بیفته و تولید یک پالس کند اما نمی دانم چرا هر کاری می کنم تایمر با تاخیر شروع به کار می کند :cry2:... راه حل این مشکل چیست :question:
    محمد حسین سعادت فر

    ---------------------------------------------
    آنچه خود داشت زبیگانه تمنا می کرد....

    #2
    پاسخ : شروع بی درنگ تایمر

    سوالتون خیلی کلیه, یکم توضیح بدین.
    با کدوم مد تایمر دارین کار میکنید؟ منظورتون از تاخیر چیه؟
    فرمان رو چطوری صادر میکنید ؟ با کدوم زبان دارین کار میکنید؟
    آموزش نرم افزار Matlab برای دانشجویان رشته های مهندسیhttp://alidoost.ir/news.php?readmore=22

    دیدگاه


      #3
      پاسخ : شروع بی درنگ تایمر

      سلام
      من می خواهم از تایمر یک در مد CTC استفاده کنم.
      برای شروع به کار تایمر از کد زیر استفاده می کنم:

      TCCR1A=0x50;
      TCCR1B=0x0D;
      TCNT1H=0x00;
      TCNT1L=0x00;
      OCR1AH=0x00;
      OCR1AL=0x10;
      OCR1BH=0x00;
      OCR1BL=0x05;


      اما اولین پالس ساعت حدود دو برابر طولانی تر از سایر پالس ها می شود.
      چرا :cry2: :cry2:
      محمد حسین سعادت فر

      ---------------------------------------------
      آنچه خود داشت زبیگانه تمنا می کرد....

      دیدگاه


        #4
        پاسخ : شروع بی درنگ تایمر

        بهتر نیست رجیسترهای TCCR1A و TCCR1B رو بعد از رجیسترهای OCR1AL و OCR1BL مقداردهی کنید؟
        آموزش نرم افزار Matlab برای دانشجویان رشته های مهندسیhttp://alidoost.ir/news.php?readmore=22

        دیدگاه


          #5
          پاسخ : شروع بی درنگ تایمر

          نوشته اصلی توسط farid-a
          بهتر نیست رجیسترهای TCCR1A و TCCR1B رو بعد از رجیسترهای OCR1AL و OCR1BL مقداردهی کنید؟
          این کار را انجام دادم اما تغییری حاصل نشد :sad:
          محمد حسین سعادت فر

          ---------------------------------------------
          آنچه خود داشت زبیگانه تمنا می کرد....

          دیدگاه


            #6
            پاسخ : شروع بی درنگ تایمر

            کسی راه حلی نداره؟ جان خودش خیلی خیلی مهمه!!!!
            محمد حسین سعادت فر

            ---------------------------------------------
            آنچه خود داشت زبیگانه تمنا می کرد....

            دیدگاه


              #7
              پاسخ : شروع بی درنگ تایمر

              ظاهرا مشکل از اینجاست که پس از اینکه ریجستر TCCR1B را تغییر می دهم حدود 1000 میکرو ثانیه بعد مرجع پالس ساعت سیستم به شمارنده متصل می شود
              محمد حسین سعادت فر

              ---------------------------------------------
              آنچه خود داشت زبیگانه تمنا می کرد....

              دیدگاه


                #8
                پاسخ : شروع بی درنگ تایمر

                این حرف اصلا منطقی نیست.
                شما هر وقت رجیستر TCCR1 رو بهش فرمان بدین , از سیکل بعدیش CLK رو میگیره.
                تنها عیبی که ممکن داشت بوجود بیاد چون TOP رو خیلی نزدیک به صفر گرفتین , اینه که قبل از رسیدن به OCR1A=0x05 مقدار تایمر 1 بیشتر از اون بشه
                که در اینصورت باید تایمر بره برسه به 0xFFFF و صفر بشه بعد وقتی رسید به 0x05 عمل میکنه.
                تو دیتاشیت هم تنها عیب ممکن همین ذکر شده:


                شما از کجا اندازه گرفتین که 1000us بعد از مقدار دهی رجیستر TCCR1 مرجع پالس اعمال میشه؟ یعنی مبنای اندازه گیریتون چطوریه؟؟
                با JTAG ؟ با چی؟ چطوری؟
                آموزش نرم افزار Matlab برای دانشجویان رشته های مهندسیhttp://alidoost.ir/news.php?readmore=22

                دیدگاه


                  #9
                  پاسخ : شروع بی درنگ تایمر

                  حق با شماست.
                  مشکل از آنجا ناشی می شد که من پورت را به صورت خروجی و با مقدار یک تنظیم کرده بودم ولی ظاهرا امکان ایجاد موج مربعی به صورت معکوص در مد CTC وجود ندارد و در نتیجه پالس اول من دو برابر بقیه پاس ها می شد.
                  اما بالاخره توانستم با استفاده از یک NOT مشکل را حل کنم.
                  از شما هم خیلی ممنونم که بهم فهموندید که اشکال از جای دیگه ای است.
                  محمد حسین سعادت فر

                  ---------------------------------------------
                  آنچه خود داشت زبیگانه تمنا می کرد....

                  دیدگاه

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