اطلاعیه

Collapse
No announcement yet.

{آموزش} چگونه میشه میکرو رو ریست نرم افزاری کرد؟ ( ساده ترین راه حل )

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

    #31
    پاسخ : {آموزش} چگونه میشه میکرو رو ریست نرم افزاری کرد؟ ( ساده ترین راه حل )

    راستی این نکته رو هم بگم که این کار روی رجیستر MCUCSR تاثیری نداره و بیتی از اون رو ست نمی کنه.
    موفق باشید.
    براي جوينده ي علم محدوديتي نيست. "ولو بالسين"

    دیدگاه


      #32
      پاسخ : {آموزش} چگونه میشه میکرو رو ریست نرم افزاری کرد؟ ( ساده ترین راه حل )

      برای مبحث پایانی این پست میخوام یه سوال مطرح کنم و ایشالله با جواب دادن به اون بحث رو ببندیم:
      ---------------------------------
      کاربردهای ریست نرم افزاری چیه؟
      ---------------------------------
      باتشکر
      براي جوينده ي علم محدوديتي نيست. "ولو بالسين"

      دیدگاه


        #33
        پاسخ : {آموزش} چگونه میشه میکرو رو ریست نرم افزاری کرد؟ ( ساده ترین راه حل )

        کاربرد اول :
        1- ریست کردن میکرو توسط دستورات دریافتی از ارتباطات خاص:
        فرض کنید توسط ارتباط یوزارت ، دوسیمه ، تک سیمه و ... و یا ریموت کنترل می خواید به میکرو دستور بدید که خودشو ریست کنه.
        2- ریست کردن میکرو پس از مقدار دهی eeprom :
        بعضی مواقع میکرو تنظیمات خودشو از روی eeprom لود میکنه. حالا هر وقت که تنظمیات جدید میخواین اعمال بشن نیازه تا میکرو ریست بشه تا تنظیمات جدید لود بشن.
        3- عمر مفید سخت افزاری :
        شاید شما هم مثل من دوست داشته باشید که برای پروژه هاتون عمر مفید در نظر بگیرید مثلا مث اینکه بعد از سه سال عمر مفید دستگاه خودش از کار بیفته... و کار نکنه.
        بدین صورت که یک تایمر رو ست میکنید و توش به صورت منظم (مثلا بیست میلی ثانیه) یه شمارنده رو زیاد می کنید . حالا هر وقت که شمارنده به عدد خاصی رسید دستگاه مدام ریست بشه و این یعنی عمر مفید.
        4- عمر مفید نرم افزاری : بعضی وقتا یه پروژه رو با کدش به مشتری می فروشید و دوست دارید که مثلا تا سال 2018 پروژه تو ن درست کامپایل بشه و بعد از اون کامپایل بشه ولی در عمل چیزی نشون داده نشه. و این یعنی قفل نرم افزاری
        براي جوينده ي علم محدوديتي نيست. "ولو بالسين"

        دیدگاه


          #34
          پاسخ : {آموزش} چگونه میشه میکرو رو ریست نرم افزاری کرد؟ ( ساده ترین راه حل )

          فک نکنم بشه این تابع ریستو بصورت نرم افزاری فعال کرد.
          چون طبق همون دیتاشیت وقتی
          External Pin, Power-on Reset, Brown-out
          Reset, Watchdog Reset, and JTAG AVR
          Reset
          صورت میگیره که همه اینا سخت افزاری هستن این وقفه رو فعال میکنه.

          دیدگاه


            #35
            پاسخ : {آموزش} چگونه میشه میکرو رو ریست نرم افزاری کرد؟ ( ساده ترین راه حل )

            نوشته اصلی توسط ی نفر
            فک نکنم بشه این تابع ریستو بصورت نرم افزاری فعال کرد.
            چون طبق همون دیتاشیت وقتی
            External Pin, Power-on Reset, Brown-out
            Reset, Watchdog Reset, and JTAG AVR
            Reset
            صورت میگیره که همه اینا سخت افزاری هستن این وقفه رو فعال میکنه.
            یعنی نمیشه از این روش استفاده کرد؟ (من دقیقا متوجه منظورتون نشدم)
            براي جوينده ي علم محدوديتي نيست. "ولو بالسين"

            دیدگاه


              #36
              پاسخ : {آموزش} چگونه میشه میکرو رو ریست نرم افزاری کرد؟ ( ساده ترین راه حل )

              نوشته اصلی توسط m52r65
              کاربرد اول :
              1- ریست کردن میکرو توسط دستورات دریافتی از ارتباطات خاص:
              فرض کنید توسط ارتباط یوزارت ، دوسیمه ، تک سیمه و ... و یا ریموت کنترل می خواید به میکرو دستور بدید که خودشو ریست کنه.
              2- ریست کردن میکرو پس از مقدار دهی eeprom :
              بعضی مواقع میکرو تنظیمات خودشو از روی eeprom لود میکنه. حالا هر وقت که تنظمیات جدید میخواین اعمال بشن نیازه تا میکرو ریست بشه تا تنظیمات جدید لود بشن.
              3- عمر مفید سخت افزاری :
              شاید شما هم مثل من دوست داشته باشید که برای پروژه هاتون عمر مفید در نظر بگیرید مثلا مث اینکه بعد از سه سال عمر مفید دستگاه خودش از کار بیفته... و کار نکنه.
              بدین صورت که یک تایمر رو ست میکنید و توش به صورت منظم (مثلا بیست میلی ثانیه) یه شمارنده رو زیاد می کنید . حالا هر وقت که شمارنده به عدد خاصی رسید دستگاه مدام ریست بشه و این یعنی عمر مفید.
              4- عمر مفید نرم افزاری : بعضی وقتا یه پروژه رو با کدش به مشتری می فروشید و دوست دارید که مثلا تا سال 2018 پروژه تو ن درست کامپایل بشه و بعد از اون کامپایل بشه ولی در عمل چیزی نشون داده نشه. و این یعنی قفل نرم افزاری
              حالا چرا ریست بشه؟
              همون اول برنامه و خط اول میتونه تو یک حلقه بمونه !!
              و اینکه مقادیره eepromرا هر وقت لازم باشه میتونید خواند و اعمال کرد نیاز به ریست برای بارگذاری این مقادیر نیست مگر با میکرو چیزی مثل سیستم عامل یا راه اندازی قطعات و ماژولهای مرتبط با میکرو لازم باشه که بر حسب این موارد احتیاج به ریست میکرو باشه.
              و در شرایط غیره مثل هنگ کردن میکرو.
              و عمر مفید سخت افزاری مثل خود میکرو که مثلا فلان تعداد توانای پاک کردن یا نوشتن در eeprom یا فلش را داری.نه اینکه بایه فلش 2باره راه بیوفته.
              در مورد عمر مفید نرافزار هم باید بگم که مثلا ویندوز 98 الان کار نمی کنه؟ یا نرم افزار های تحت ویندوز 98؟ معلومه که کار نمیکنه ولی عمر مفید نرم افزار یعنی شما سراغ 98 نمیری و دنبال ویندوز 7-8 میری و اینکه داری روی ویندوز 10 مانور میدی.و در حالی که هنوز خیلی جاها از Notpad ویندوز استفاده میکنیم.
              دوست عزیز اگه مفید بود روی تشکر بزن

              دیدگاه


                #37
                پاسخ : {آموزش} چگونه میشه میکرو رو ریست نرم افزاری کرد؟ ( ساده ترین راه حل )

                ممنون از جواب خوبتون.
                همون اول برنامه و خط اول میتونه تو یک حلقه بمونه !!
                حرف شما کاملا متینه. ولی این مشروط بر اینه که بعد از یه شمارش تایمر ریست شه تا بتونه همون اول برنامه تو یه خط گیر کنه (لوپ)
                و اینکه مقادیره eepromرا هر وقت لازم باشه میتونید خواند و اعمال کرد نیاز به ریست برای بارگذاری این مقادیر نیست مگر با میکرو چیزی مثل سیستم عامل یا راه اندازی قطعات و ماژولهای مرتبط با میکرو لازم باشه که بر حسب این موارد احتیاج به ریست میکرو باشه.
                اصولا در زمانی که شما برنامه تون حرفه ای یه و به قول خودتون از ماژول ها و دستگاه های متفاوت برای کارتون استفاده کرده اید .این روش خیلی مفیده.
                راستی در بعضی تنظیمات خاص که فقط روی eeprom باید لود بشن . حتما باید ریست بشه تا از ابتدای برنامه این تنظیمات لود بشن.
                و عمر مفید سخت افزاری مثل خود میکرو که مثلا فلان تعداد توانای پاک کردن یا نوشتن در eeprom یا فلش را داری.نه اینکه بایه فلش 2باره راه بیوفته.
                همان طور که خودتون مستحضرید مشتری به کد دسترسی نداره. وفقط محتوای فلش در اختیارش هست.که این محتوا رو خیلی ساده میشه لاک کرد و از کپی محافظت . محتوای ای پی رام رو هم که نمیشه محافظت کرد اما یک روش خیلی ساده وجود داره و اون اینکه اگر مشتری بیاد و حافظه eeprom رو پاک کنه چون تنظیمات روی اون سوارند پس هیچ کدوم از برنامه هاش کار نمیکنند. و اگر بیاد و فلش رو پاک کنه که دیگه هیچ و تنها کسی که میتونه دوباره محتوای فلش رو پروگرم کنید خودتونید نه کس دیگه.
                در ضمن همون طور که میدونید از روش سریال نامبر هم وقتی استفاده بشه محتوای فلش و eeprom با هم مطابقت داده میشه و اصولا کاربر دستش بسته میشه.
                در مورد عمر مفید نرافزار هم باید بگم که مثلا ویندوز 98 الان کار نمی کنه؟ یا نرم افزار های تحت ویندوز 98؟ معلومه که کار نمیکنه ولی عمر مفید نرم افزار یعنی شما سراغ 98 نمیری و دنبال ویندوز 7-8 میری و اینکه داری روی ویندوز 10 مانور میدی.و در حالی که هنوز خیلی جاها از Notpad ویندوز استفاده میکنیم.
                حق با شماس.
                این حرف شما درسته. اما فک کنم شما یه چیز رو در نظر نگرفتید. شما تا به حال بابت ویندوز پولی پرداخت کردید ؟ مسلما هیج کدوممون نه. و هممون دنبال کرک و سریالیم. خب معلومه وقتی ویندوز 11 هم بیاد 10 رو ول میکنیم و میریم دنبال 11 . اینا همش به خاطر اینه که ما پولی بابتش پرداخت نمی کنیم و الا اگر پول پرداخت میکردیم باور کنید همین الان هممون روی ویندوز XP گیر کرده بودیم. به عنوان یه مثال دیگه مثلا شما نرم افزار پولی فارسی کلک رو در نظر بگیرید . چون این نرم افزار پولیه من همین الان دارم از نسخه XP سال 2000 ش استفاده می کنم که کرک شده است چون الان پول مورد نیاز بابت خریدش رو ندارم.
                چیزی مثل نوت پد هم تا آخر نیازه . دقیقا مث سیستم عامل داس که به صورت رایگان روی همه لپ تاپ ها هستش. (رایگانه).


                با تشکر
                راستی تموم این کاربردها تجربی هستن و من چند ساله ازشون دارم استفاده میکنم.
                براي جوينده ي علم محدوديتي نيست. "ولو بالسين"

                دیدگاه


                  #38
                  پاسخ : {آموزش} چگونه میشه میکرو رو ریست نرم افزاری کرد؟ ( ساده ترین راه حل )

                  مشکل اینه که تا بیایم کل نرم افزارامونو با یه سیستم عامل مچ کنیم میبینیم که یه سیستم عامل جدید اومد و دنبال نوم افزار ورژن جدید برای این سیستم عامل - حالا 32 بیتمون 64 نشه یا از ویندوز رو لینوکس بیایم یا ...... صدتا دیگه.
                  این شرکتها برای اینکه هی محصول بفروشن دارند محصولات جدید میدن.
                  وگر نه نیاز جدیدی به چیدمان صفحات و تمپ یا جابجا کردن گزینه ها نیست - معمولا تغییرات کوچکی میکنند.
                  و ما هی نرم افزار جدید و سخت افزار جدید تهیه میکنیم.

                  یه سوالی داشتم از متن قبلیتون
                  که منظورتون از سریال چی بود؟

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

                  دیدگاه


                    #39
                    پاسخ : {آموزش} چگونه میشه میکرو رو ریست نرم افزاری کرد؟ ( ساده ترین راه حل )

                    نوشته اصلی توسط m52r65
                    یعنی نمیشه از این روش استفاده کرد؟ (من دقیقا متوجه منظورتون نشدم)
                    منظورم اینه این وقفه ریست از طریق سخت افزاری فعال میشه نه نرم افزاری.(طبق دیتاشیت)

                    دیدگاه


                      #40
                      پاسخ : {آموزش} چگونه میشه میکرو رو ریست نرم افزاری کرد؟ ( ساده ترین راه حل )

                      نوشته اصلی توسط ی نفر
                      منظورم اینه این وقفه ریست از طریق سخت افزاری فعال میشه نه نرم افزاری.(طبق دیتاشیت)
                      طبق توضیحات بنده تمام وقفه ها رو میشه نرم افزاری فعال کرد حتی اگر سخت افزاری باشن ( طبق بردارشون) و از بین توابع ریست می توان external Reset رو هم فعال کرد و حتی وقفه واچ داگ رو هم میشه فعال کرد.
                      براي جوينده ي علم محدوديتي نيست. "ولو بالسين"

                      دیدگاه


                        #41
                        پاسخ : {آموزش} چگونه میشه میکرو رو ریست نرم افزاری کرد؟ ( ساده ترین راه حل )

                        نوشته اصلی توسط mohsenehsaninia نمایش پست ها
                        تابع زیر را به صورت زیر تعریف میکنم:
                        کد:

                        void (*software_reset)=0x0000;

                        حالا هر وقت که خواستم میکرو مو ریست کنم تابع را به صورت زیر فراخونی میکنم.
                        کد:

                        sofware_reset();

                        --------------
                        این تابع داخل کدویژن چطوری باید نوشته بشه؟

                        دیدگاه


                          #42
                          پاسخ : {آموزش} چگونه میشه میکرو رو ریست نرم افزاری کرد؟ ( ساده ترین راه حل )

                          با توجه به اینکه وجود واچ داگ سخت افزاری در هر پروژه ای ضروریه.برای ریست نرم افزاری هم کافیه از همین تایمر استفاده بشه و با کم کردن زمان رفرش در بازه ای خیلی کم میکرو ریست میشه.کاملا هم اصولی هست و بدون دردسر
                          Aristar Group - Always And Forever

                          دیدگاه

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