اطلاعیه

Collapse
No announcement yet.

یکبار پروگرام شدن AVR

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

    یکبار پروگرام شدن AVR

    دوستان سلام
    بالاخره پروگرامرم درست شد.اما آخر نفهمیدم آن Error که تو تاپیک قبلی گفتم برای چه بود.
    من میکرو AVR را با پروگرامر STK200/300 و با کامپایلر codevision پروگرام کردم،برنامه لود شد(برنامه فلشر که خیلی ساده هم هست) اما نمیدانم چرا برنامه روی سخت افزار اجرا نشد(همون برنامه را در Proteus نتیجه گرفتم،یعنی برنامه اشکالی نداره)
    سخت افزار هم مشکلی نداره،نمیدونم مشکل کجاست؟
    لطفا راهنمایی ام کنید
    در ضمن دیگه نمیتونم میکرو را پروگرام کنم و Errorآ‌عدم برقراری تغذیه،عدم انتخاب صحیح پروگرامر،سوختن میکرو و ...(همون Error معروفه) رو میده.علتش چیه؟
    البته اینو بگم که قبل از پروگرامر میکرو و لود شدن برنامه،یه سوال در مورد EEPROM پرسید که من NO زدم
    با سپاس و درود فراوان
    زیبا باش و بخند بر هرآنچه زشتی است،چرا که تنهاترین شان تو ،زیبایی است.

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

    در مورد جواب ندادن احتمال داره از پورت c استفاده کرده باشی در عین حال jtag را غیر فعال نکرده باشی ، این مورد را چک کن.
    یا اینکه اسیلاتور را رو کریستال خارجی گذاشته باشید ولی کریستال را یادتون رفته بذارید :biggrin:(یا شایدم کریستال سوخته باشه)یا مشکلاتی از این قبیل
    در مورد پروگرم نشدن هم بررسی کن که خدای نکرده فیوز بیت مربوط به isp را غیر فعال نکرده باشی که در این صورت فقط با jtag و stk500,... می تونید پروگرم کنید.
    یه حالت دیگه هم اینه که ممکنه فیوزبیت ها را رو کریستال خارجی تنظیم کرده باشین ولی رو پروگرمر شما کریستال نباشه یا سوخته باشه.
    اکثر مشکلات با avr شبیه مشکل شما به اشتباه در تنظیم فیوزبیتها و قرار دادن کریستال بر می گرده.

    دیدگاه


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

      اولا ممنونم که پاسخ دادی مهندس اما:
      بخاطر Jtag از پورت Cآ‌استفاده نکردم و از پورت A استفاده کردم.
      از کریستال خارجی استفاده نکردم و در تنظمات داخلی میکرو کلاک را روی 4MHz قرار دادم(آیا باید از منوی دیگری در Codevisionکریستال داخلی را تنظیم کنم؟)
      از طرفی اصلا به فیوز بیت ها دست نزدم
      با این وجود الان سردرگمم و نمیدانم اشکال از کجاست :angry:
      منتظر یاری پر مهر شما هستم :biggrin:
      زیبا باش و بخند بر هرآنچه زشتی است،چرا که تنهاترین شان تو ،زیبایی است.

      دیدگاه


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

        نوشته اصلی توسط amir-ak

        از کریستال خارجی استفاده نکردم و در تنظمات داخلی میکرو کلاک را روی 4MHz قرار دادم(آیا باید از منوی دیگری در Codevisionکریستال داخلی را تنظیم کنم؟)
        منبع اسیلاتور AVR های هشت بیتی (غیر از سری xmega ) را فقط و فقط از طریق فیوزبیت ها میشه تعیین کرد اون فرکانس توی تنظیمات کدویژن فقط برای محاسبات تاخیر خود کامپایلر هست.

        نوشته اصلی توسط amir-ak
        از طرفی اصلا به فیوز بیت ها دست نزدم
        مشکل میتونه از همین هم باشه عکس زیر قسمت پروگرمر کدویژن ورژن 2 هست،

        اون قسمتی که علامت زدم را دقت کن اگه اونجا تیک داشته باشه پروگرمر فیوزبیتها را طبق تنظیماتی که تو کادر انجام شده پروگرم می کنه در حالت پیشفرض همه اونا 1 هست که یکی از نتایج پروگرم کردن میکرو با مقادیر پیشفرض داخل کادر Fuse Bits اینه که میکرو رو کریستال خارجی تنظیم میشه .

        دیدگاه


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

          مرسی مهندس از راهنمایی ات
          درسته گزینه ای که گفتی تیک خورده.پس باید از اسیلاتور خارجی استفاده کنم.درسته؟
          تا اونجا که میدونم با 2عدد خازن 27pf ویک کریستال 4MHz میشه اسیلاتور خارجی را درست کرد.
          اما یه سوال؟مقدار کریستال آیا با توجه به کلاک داخلی میکرو باید انتخاب بشه؟(یعنی چون کلاک داخلی در تنظیمات کدویژن 4MHz است،مقدار اسیلاتور نیز باید 4MHz باشه.{هرچند که اشاره کردی که آن کلاک در تنظیمات کدویژن مربوط به تاخیر خود کامپایلره اما گفتم شاید به هم ربط داشته باشن} )
          حالا که باید از کریستال خارجی(فرضا 4MHz) استفاده کنم،آیا باید در تنظیمات کدویژن جایی را علامت بزنم و مشخص کنم که اسیلاتورم 4MHz است؟
          اما من هنوز نفهمیدم چرا با وجود اینکه برنامه لود شد اما چرا روی سخت افزار اجرا نشد؟یعنی دلیلش عدم وجود کریستال خارجی بوده؟
          در ضمن چرا میکرو فقط یه بار پروگرام شد و دیگه نشد و ERROR عدم برقراری تغذیه،عدم انتخاب صحیح پروگرامر،خرابی پروگرامر و ... را میداد؟
          زیبا باش و بخند بر هرآنچه زشتی است،چرا که تنهاترین شان تو ،زیبایی است.

          دیدگاه


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

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

            برنامه برای اجرا نیاز به کلاک داره شما کریستال را بذار انشالله جواب می گیری.
            این که دیگه پروگرم نشد به علت تغییر تنظیمات کلاک میکرو هست که اگر کریستال را بگذارید انشالله پروگرم میشه.
            توجه داشته باشید AVR برای انجام تمام کارها(به جز یکی دو مورد) حتی پروگرم شدن به کلاک نیاز داره اگر شما فیوز بیت های کلاک را به موردی تغییر دهید که به عدم استفاده از کلاک داخلی میکرو منجر بشه باید منبع کلاک مورد نظر را به میکرو وصل کنید .
            موفق باشید.

            دیدگاه

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