اطلاعیه

Collapse
No announcement yet.

مشکل در تعریف کلاک Attiny2313 , Attiny2313v

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

    مشکل در تعریف کلاک Attiny2313 , Attiny2313v

    با سلام خدمت دوستان عزیز

    آقا نمیدونم ما آلزایمر گرفتیم یا خدمت تجربیات ناچیزمون رو گرفت؟؟؟!!ConfusedAmaze


    نمیدونم از دیروز تا خالا ی چیزی حدود 7 ساعت روی این برنامه زیر وقت گذاشتم اما دریغ از ی نتیجهههههههه،دیگه علاوه بر آلزایمر نشانه هایی از خودزنی هم دیده میشه!

    مشکل اینجاس ک دستورات تاخیری درست کار نمیکنن مثلا در برنامه زیر،در عمل ب جای اینکه 1 ثانیه تاخیر داشته باشیم چیزی حدود 3ثانیه داریم

    کد:
    $regfile = "attiny2313.dat"
    $crystal = 4000000
    
    Config Portd.5 = Output
    
     Do
     Toggle Portd.5
     Wait 1
     Loop
    
     End


    حتی فیوز بیت رو هم روی 4 مگ داخلی تنظیم کردم باز جواب نداد،
    فقط در ی صورت مشکل حل میشه اونم اینکه،فرکانس داخلی رو هر چیزی میخواد باشه ولی $crystal=1000000باشه،اونوقت همه چی درسته.
    (بنا رو روی 2313v گذاتشتم چون حداکثر فرکانس کاریش 4 مگ هس)



    [hr]
    س سئوال دیگه؟؟؟؟؟؟؟؟؟؟؟؟

    کسی در مورد فیوز بیت DWEN که همونDebugwire هس اطلاعاتی داره!

    خودش ی جور قفل برنامه از دستکاری پی بردم بعد از فعال کردین این بیت دیگه میکرو توسط پروگرامر قابل شناسایی نیس،بعد از این در و اون در زدن مشخص شد ی جور قفل برنامه فلش هس؛به عبارتی قفل قفل میکرووووووووووووووو


    خلاصه ایی از این بیت:
    در صورتی ک برنامه ریزی نشده باشد میتوان توسط ارتباط debugwire حافظه میکرو رو خوند حتی اگه میکرو قفل نرم افزاری شده باشد،اما اگه برنامه ریزی بشه،(کار زار میشه)دیگه هیچچچچچچچ کاری نمیشه کرد؛(توکتاب ک نوشته ب هیچ وجه،اما ب هیچ وجه برا ایرانی ک معنی نمیده،اونم تو این تحریم بازار)

    حالا کسی هس ب این مشکل بر خورده باشه(از سر کنجکاوی های نابجا)و بتونه کمکی کنه؟؟؟؟؟؟؟؟؟ممنون

    #2
    پاسخ : مشکل در تعریف کلاک Attiny2313 , Attiny2313v

    سلام
    این دو دستور را قبل از حلقه Do-loop بگذارید
    کد:
    CLKPR=128
    CLKPR=0
    موفق باشید
    [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
    معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
    معرفی نرم افزار Codewizard PWM
    با من بیشتر آشنا شوید

    دیدگاه


      #3
      پاسخ : مشکل در تعریف کلاک Attiny2313 , Attiny2313v

      این لینک رو نگاه کن
      http://www.eca.ir/forum2/index.php?topic=82421.msg579546#msg579546
      [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
      معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
      معرفی نرم افزار Codewizard PWM
      با من بیشتر آشنا شوید

      دیدگاه


        #4
        پاسخ : مشکل در تعریف کلاک Attiny2313 , Attiny2313v

        نوشته اصلی توسط Saman.Asadi
        سلام
        این دو دستور را قبل از حلقه Do-loop بگذارید
        کد:
        CLKPR=128
        CLKPR=0
        موفق باشید
        با تشکر
        ولی میشه بگین این دستورات چی هستن؟
        چند روز پیش یکی از بچه ها گفت اینا ی سری ایرادات سری 2313 و مثلا تاینی26 و... است؛که کافیه تنظیمات فیوز بیتت رو رو مقدار مورد نظر تنظیم کنی بعد داخل برنامه هم فرکانس رو 1 مگ در نظر بگیری همه چی حل میشه(البته خودم هنوز چک نکردم،بررسی میکنم نتیجه رو اعلام میکنم)

        دیدگاه


          #5
          پاسخ : مشکل در تعریف کلاک Attiny2313 , Attiny2313v

          نوشته اصلی توسط student-p
          با تشکر
          ولی میشه بگین این دستورات چی هستن؟
          چند روز پیش یکی از بچه ها گفت اینا ی سری ایرادات سری 2313 و مثلا تاینی26 و... است؛که کافیه تنظیمات فیوز بیتت رو رو مقدار مورد نظر تنظیم کنی بعد داخل برنامه هم فرکانس رو 1 مگ در نظر بگیری همه چی حل میشه(البته خودم هنوز چک نکردم،بررسی میکنم نتیجه رو اعلام میکنم)
          عجب آدم های کم سوادی پیدا میشن
          آقا بلد نیستی نمیخواد نظر بدی ... اینطوری یه بنده خدایی مثل ایشون هم بدتر گیج میکنی گناهش هم گردنته ... :redface:

          بعضی از سری های میکرو AVR یک سری امکاناتی دارند که زمانی که پردازش نخواهیم انجام دهیم و یا اینکه خیلی کم پردازش بخواهیم باید فرکانس CPU رو پایین آورد که این کار را با مقسم های کلاک انجام میگیرد ...
          امروزه در بیشتر CPUهای جهان این قابلیت را گذاشته اند تا از مصرف انرژی آنها صرفه جویی شود ...
          این دو دستور هم دقیقا همین کار را انجام میدهد ... اولی برای اینکه بفهمانیم که میخواهیم مقسم فرکانسی را تغییر دهیم و دومی هم دستور اینکه روی چه مقسمی قرار گیرد ...
          اگر بخواهیم که فرکانس CPU روی فرکانس اصلی اسیلاتور باشد باید از همان دستوری که قبلا گفته شد به کار ببریم ...
          آن دستور ها برای تقسیم بر یک هست ...
          بنابراین اگر خواستیم با فرکانس اصلی اسیلاتور کار کند باید آن دو دستور را قبل از حلقه اصلی برنامه بگذاریم ...

          موفق باشید
          [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
          معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
          معرفی نرم افزار Codewizard PWM
          با من بیشتر آشنا شوید

          دیدگاه


            #6
            پاسخ : مشکل در تعریف کلاک Attiny2313 , Attiny2313v

            :agree:

            مرسی دوست خوب منننننننننننننننننننننننننننننننننننن :applause:

            فقط دو تا سئوال :nerd:؟

            1-منظورتون اینه ک مقدار صفر؛ فرکانس CPU رو روی مقدار فرکانس اصلی اسلاتور تنظیم میکنه؟
            چرا ابتدا 128 شده بعد صفر؟،خوب همون اول میذاشتیم صفر.............................

            2-پس ی جور مقسمه؟!میشه مقدار این ریجستر رو جز صفر و 128 رو مقادیر دیگه تنظیم کرد؟

            دیدگاه


              #7
              پاسخ : مشکل در تعریف کلاک Attiny2313 , Attiny2313v

              نوشته اصلی توسط student-p
              :agree:
              مرسی دوست خوب منننننننننننننننننننننننننننننننننننن :applause:
              فقط دو تا سئوال :nerd:؟
              1-منظورتون اینه ک مقدار صفر؛ فرکانس CPU رو روی مقدار فرکانس اصلی اسلاتور تنظیم میکنه؟
              چرا ابتدا 128 شده بعد صفر؟،خوب همون اول میذاشتیم صفر.............................
              2-پس ی جور مقسمه؟!میشه مقدار این ریجستر رو جز صفر و 128 رو مقادیر دیگه تنظیم کرد؟
              ببین دوست عزیز
              همونطور که قبلا هم گفتم بیت هفتم این رجیستر قبل از تغییر تقسیم کننده فرکانسی ابتدا باید یک شود و بعد طبق جدول زیر کلاک CPU را تغییر دهیم

              دیتاشیت رو بخونید متوجه منظورم میشوید
              کد:
              • Bit 7 – CLKPCE: Clock Prescaler Change Enable
              The CLKPCE bit must be written to logic one to enable change of the CLKPS bits.
              The CLKPCE bit is only updated when the other bits in CLKPR are simultaneously written to zero.
              CLKPCE is cleared by hardware four cycles after it is written or when CLKPS bits are written.
              Rewriting the CLKPCE bit within this time-out period does neither extend the time-out period, nor clear the CLKPCE bit.
              موفق باشید
              [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
              معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
              معرفی نرم افزار Codewizard PWM
              با من بیشتر آشنا شوید

              دیدگاه

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