PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : پروگرمر کردن 18f452



gate_crasher
16-11-2013, 12:48
سلام
من 2 تا میکرو 18f452 رو پروگرم کردم ولی فک کنم فیوز بیتا مشکل پیدا کردن دیگه هیچ کدوم پروگرم نمی شن. مشه پاکشون کرد ولی موقع رایت کردن این ارور رو می ده:
programming faild at program memory address 0x00000
خواندن هم به درستی انجلم می شه. انگار رایت پروتکت شده!
مشه مشکل رو حل کرد و ای سی ها رو درست کرد؟

sarab1
16-11-2013, 21:07
احتمالا از پروگرمر سایت همسایه استفاده میکنید درسته؟
--------------------------
بخاطر جلوگیری از بروز مشکل، لطفآ از گفتن اسم سایت همسایه خودداری کنید..ممنون

gate_crasher
16-11-2013, 21:29
من از این پروگرمر استفاده می کنم
پروگرامر و دیباگر USB میکروکنترلرهای PICKIT2) PIC) مدل NUP113, نوآوران الكترونيك, فروشگاه قطعات الکترونیک ، روباتيک و ابزار آلات (You can see links before reply 8%B1%D9%84%D8%B1%D9%87%D8%A7%DB%8C-pickit2)-pic)-%D9%85%D8%AF%D9%84-nup113-p-1762.html)
ولی مال eca رو هم که نگا کردم مثل هم هستن

1nafar
17-11-2013, 07:32
سلام
شما با چه کامپایلری برنامه رو نوشتید ؟ احتمال داره توی برنامه فیوز بیت Code protecte برنامه ریزی شده باشه ، مثلا توی CCS کدش این هست :

#FUSES PROTECT //Code protected from reads
یا امکان داره توی نرم افزار PICkit 2 از منوی TOOLS گزینه ENABLE Code protected رو انتخاب کرده باشید .
=================
برای چک کردن قفل شدن میکرو کافیه با پروگرامر بهش وصل بشد و ببینید :
--در منوی TOOLS گزینه ی ENABLE Code protected فعال هست یا نه .
--همچنین نرم افزار در ( جلوی اسم میکروکنترلر ) گزینه ی Code protected رو نمایش میده وقتی میکروکنترلر در برابر خوندن محافظت بشه ( این چیزی هست که توی ذهنم مونده و امکان داره صحیح نباشه ) .
در جلوی نام میکروکنترلر در نرم افزار گزینه ای به نام CONFIGURATION وجود داره که با کلیک کردن بر روی اون میشه وضعیت فیوز بیت ها رو مشاهده کرد .
اگه گزینه های بالا وجود نداشت ( مخصوصا گزینه ی اول ):
احتمال داده پروگرامر روی حالت سریع برنامه ریزی شده باشه (TOLOLS > فست پروگرامینگ ) (نرم افزار رو پاک کنید و مججدا اون رو نصب کنید / با یک پروگرامر دیگه هم تست کنید )
یا اتصالات به درستی انجام نشده باشه ( بعضی وقت ها برای خودم پیش اومده که وجود مقداری روغن لحیم باعث اختلال در عملیات نوشتن میکروکنترلر شده ) .

gate_crasher
17-11-2013, 09:04
ممنون از پاسخ کاملتون.
از کامپایلر ccs استفاده می کنم ولی توی برنامه فیوز بیت مربوط به کد پروتکت اصلا کافیگ نشده که در این صورت به طور پیش قرض اگه اشتباه نکنم کد پروتکت فعال نمی شه.

گزینه enable code protected هم فعال نیست.

فیوز بیت ها رو هم چک کردم و همه درست عکسش رو پایین می زارم.

فقط گزینه fast programming فعال بود که غیر فعالش کردم ولی مشکل حا نشد یعنی او 2 تا میکرو خراب رو نتونستم دوباره پروگرم کنم.
You can see links before reply

sarab1
17-11-2013, 13:40
یه زمانی من هم حدودا 5 تا 452 و 877 رو به خاطر همین پروگرمر های مسخره انداختمشون دور !!! بعدش متوجه شدم این pickit مارو سر کار گزاشته بود!!!!!!!
شما اول نرم افزار رو کلا پاک کن حتی داریورش رو هم!!! کامپیوتر رو هم shutdown و سپس از اول شروع کن !!
مطمئن باشید که میکرو هاتون هیچ مشکلی پیدا نکردن!!! البته نظر من اینه:wink::wink::wink::wink:

1nafar
17-11-2013, 13:59
سلام

فیوز بیت ها رو هم چک کردم و همه درست عکسش رو پایین می زارم.
برای مشاهده ی وضعیت فیوز بیت ها ، باید برنامه ی میکروکنترلر رو بخونید (programmer>read device ) .

گزینه enable code protected هم فعال نیست.
در این حالت میکروکنترلر در برابر نوشتن حفاظت شده و دیگه نمیشه کاریش کرد .




شوخی کردم ، می شه درستش کرد ، برای این کار مراحل زیر دنبال کنید ( برای تهیه آموزش تصویری جون یکی از میکروکنترلر هام رو به خطر انداختم ) :
همه چیز رو از اول شروع کنید ، میکروکنترلر رو به پروگرامر متصل کنید و نرم افزار رو باز کنید :
You can see links before reply
اگه نام میکرو به صورت خودکار نمایش داده نشد ، گزینه ی pic18f رو از منوی device family انتخاب کنید و بعد منوی programmer>read device رو انتخاب کنید تا برنامه میکروکنترلر خونده بشه :
مشاهده میکنید که در پنجره ی پروگرامر گزینه ی Code protected با رنگ قرمز نمایش داده میشه ( اگه نمایش داده نشد ، میکروکنترلر قفل نشده و مشکل از جای دیگه هست ):
You can see links before reply

از منوی programmer گزینه ی earase رو انتخاب کنید تا حافظه ی میکروکنترلر پاک بشه و در منوی tools تیک enable code protected رو بردارید ( بعد از پاک کردن حافظه ، این گزینه فعال میشه ):
You can see links before reply

از منوی programmer گزینه ی write device رو انتخاب کنید تا تنظیمات جدید بر روی میکرو کنترلر ذخیره بشه .

نکات فنی :
1-برای برنامه ریزی میکروکنترلر حتما از تغذیه ی خارجی استفاده کنید ( تغذیه ی میکروکنترلر رو از پورت usb پروگرامر نگیرید )
2- در منوی tools تیک گزینه ی fast programming رو بردارید و گزینه ی Use VPP First Program Entry رو بردارید .
3- من مراحل بالا رو به صورت عملی همین الان تست کردم و 100 درصد جواب داد .

gate_crasher
17-11-2013, 15:03
آقای هاشمی من قلبم با باتری کار می کنه شوخی نکنید :mrgreen:
ممنون از اینکه وقت با ارزشتون رو واسه آماده کردن این آموزش تصویری گذاشتین و همچنین قبول ریسک خرابی میکرتون. باید بگم متاسفانه جواب نداد. البته پروگرمر امکان تغییر منبع تغذیه رو نداره و پروگرمر دیگه ای هم ندارم lov:
با تغذیه usb هم تست کردم مشکل حل نشد ولی مثل اینکه اصلا code protect نیست اصلا چون گزینه code protect نمایش داده نمی شه.
یه نکته دیگه که الان فهمیدم اینه که بعد از اینکه read divice رو انجام می دم و فیوز بیت ها رو تغییر می دم عمل رایت درست انجام می شه (امکان تغییر فیوز بیت ها وجد داره اگه اشتباه نکنم) ولی باز هم نمی شه فایل هگز رو رایت کرد.

gate_crasher
17-11-2013, 15:38
یه زمانی من هم حدودا 5 تا 452 و 877 رو به خاطر همین پروگرمر های مسخره انداختمشون دور !!! بعدش متوجه شدم این pickit مارو سر کار گزاشته بود!!!!!!!
شما اول نرم افزار رو کلا پاک کن حتی داریورش رو هم!!! کامپیوتر رو هم shutdown و سپس از اول شروع کن !!
مطمئن باشید که میکرو هاتون هیچ مشکلی پیدا نکردن!!! البته نظر من اینه:wink::wink::wink::wink:

ممنون از نظرتون تست کردم ولی جواب نداد ولی فقط با 452 مشکل داره 887 رو بدون مشکل پروگرم می کنه

1nafar
22-11-2013, 23:16
سلام

باید بگم متاسفانه جواب نداد. البته پروگرمر امکان تغییر منبع تغذیه رو نداره و پروگرمر دیگه ای هم ندارم lov:
با تغذیه usb هم تست کردم مشکل حل نشد ولی مثل اینکه اصلا code protect نیست اصلا چون گزینه code protect نمایش داده نمی شه.
توی این کار تغذیه ی میکروکنترلر حتما باید 5 ولت باشه . اگه میتنید زیر سوکت میکروکنترلر در پروگرامر سیم لحیم کنید و تغذیه ی 5 ولت ثابت رو بهش برسونید .

یه نکته دیگه که الان فهمیدم اینه که بعد از اینکه read divice رو انجام می دم و فیوز بیت ها رو تغییر می دم عمل رایت درست انجام می شه (امکان تغییر فیوز بیت ها وجد داره اگه اشتباه نکنم) ولی باز هم نمی شه فایل هگز رو رایت کرد.
میکروکنترلر های pic قفل سخت افزاری ندارن که با اون بشه کل حافظه رو از کار انداخت .
توی این میکروکنترلر ها یه سری فیوز بیت وجود داره که توسط اونا میشه خوندن از حافظه های eeprom و فلش رو غیر فعال کرد . این فیوز بیت ها با پاک کردن حافظه ی فلش پاک میشن ( در این حالت برنامه ی قفل شده هم پاک میشه ) و دوباره میشه میکروکنترلر رو برنامه ریزی کرد .
من از ورژن 2.61.00 نرم افزار استفاده میکنم . اگه شما از ورژن دیگه ای استفاده میکنید ، پاکش کنید و این ورژن رو نصب کنید .

gate_crasher
23-11-2013, 00:35
درست شد مشکل از همون تغذیه بود. میکرو رو به صورت isp پروگرم کردم +5 رو از تغذیه خارجی بهش دادم و زمین رو با پروگرمر یکی کردم بعد از این که میکرو رو روی کریستال خارجی کانفیگ کردم مشکل حل شد.
ممنون از لطفتون آقای هاشمی الحق که استادین

irsmeco
25-10-2015, 23:30
درست شد مشکل از همون تغذیه بود. میکرو رو به صورت isp پروگرم کردم +5 رو از تغذیه خارجی بهش دادم و زمین رو با پروگرمر یکی کردم بعد از این که میکرو رو روی کریستال خارجی کانفیگ کردم مشکل حل شد.
ممنون از لطفتون آقای هاشمی الحق که استادین

زنده باد دوستی که جوانمردانه دانسته هایش را با دیگران شریک می شود . دست همگی درد نکنه من این مشکل رو با استفاده از یک کابل usb استاندارد خیلی کوتاه 15 سانت حل کردم و 4 عدد میکرو احیاء شد . باز هم دست دوستان درد نکنه . زنده باد ایرانی