اطلاعیه

Collapse
No announcement yet.

کار نکردن پروژه ساده با تایمر واچ داگ با کدویژن

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

    کار نکردن پروژه ساده با تایمر واچ داگ با کدویژن

    سلاممممممممممممممممممم
    من یه برنامه ساده برا تست تایمر واچ داگ نوشتم و میخوام 8 تا led متصل به PORTA به ترتیب روشن بشه و چون واچ داگ رو روی 0.5 ثانیه تنظیم کردم، و زمان بین روشن شدن هر LED هم 0.1 ثانیه هستش، و باید سر LED 5 ام میکرو ریست بشه و دوباره از LED اول میکرو LED ها رو روشن کنه و هی و هی و هی.... همن طور LED های 1 تا 5 روشن و خاموش میشن..............

    ولی چرا برنامه واچ داگش کار نمیکنه و LED ها همین طور از اول تا آخر روشن و خاموش میشن(هم تو عمل و هم تو پروتئوس همین طور بود) ...انگار نه انگار که من از واچ داگ استفاده کردم

    مشکل کار کجاس؟(دوستان اگه لطف کنن راهنمایی کنن، چون دارم یه مطلب مینویسم و این قسمت پروژش مشکل داره)

    [code=c]#include <mega16.h>
    #include <delay.h>

    void WDT_Turn_on(void)
    {
    // Watchdog Timer initialization
    // Watchdog Timer Prescaler: OSC/512k - 0.5(s)
    WDTCR = (0<<WDTOE) | (1<<WDE) | (1<<WDP2) | (0<<WDP1) | (1<<WDP0);
    }

    void main(void)
    {
    int i;

    DDRA = (1<<DDA7) | (1<<DDA6) | (1<<DDA5) | (1<<DDA4) | (1<<DDA3) | (1<<DDA2) | (1<<DDA1) | (1<<DDA0);
    PORTA = (0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0);

    WDT_Turn_on();

    while (1)
    {
    for(i=1; i<=128; i*=2)
    {
    PORTA = i;
    delay_ms(100);
    }

    //#asm("wdr" - MCUCSR |= (1<<WDRF); - WatchDog Reset
    }
    }
    [/code]

    اضافه شده در تاریخ :
    خب یافتم، جواب مشکل تو راهنمای کدویژن نوشته شده....کلا این تابع دیلای دردسر همیشه
    This function automatically resets the wtachdog timer every 1ms by generating the wdr instruction

    تست میکنم و خبر میدم. ^_^

    اضافه شده در تاریخ :
    خب یه موردی که هستش این کد ویژن همچین مشکلی با DELAY_US نداره، ولی وقتی پروژه رو در عمل و در پروتئوس میبندی بازم میبینی که پروتئوس درست کار نمیکنه و این دلیل دیگه ای بر این که پروتئوس میکرو ها رو هم درست شبیه سازی نمیکنه.................بابا ولش کنید این پروتئوس رو(یکی بیاد به خودم یگه ^_^)----مطلب آموزشش رو مینویسم و فیلم و عکس و... رو تو یه مطلب میزارم و لینک رو اگه یادم بود میزارم اینجا، دوستان اگه تجربه ای دانسته ای ندانسته ای هر چی از واچ داگ میدونن بگن.....
    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

    اگه دوس دارید سریع به جواب برسید :
    1) قبل از پرسیدن سوال، بسرچید.
    2) سوالاتون رو با جزئیات کامل مطرح کنید.

    #2
    پاسخ : کار نکردن پروژه ساده با تایمر واچ داگ با کدویژن

    تابع تاخیر داخل کدویژن خودش به صورت خودکار واچداگ رو ریست می کنه.
    -- یک پیشنهاد دوستانه: از کدویژن دل بکنید !
    ---------
    .
    .
    ...........

    دیدگاه


      #3
      پاسخ : کار نکردن پروژه ساده با تایمر واچ داگ &#

      یه سوال
      مگه با یک کردن بیت مربوط به واچ داگ در ریجستر MCUCSR ، واچ داگ ریست نمیشه؟
      آخه تو ریجسترش نوشته R/W که یعنی هم خوندنی و هم نوشتنی
      ولی تو دیتاشیت برای این ریجستر برا بیت واچ داگش نوشته
      This bit is set if a Watchdog Reset occurs. The bit is reset by a Power-on Reset, or by writing a
      logic zero to the flag.
      یعنی با خوندنش میفهمیم که تایمر واچ داگ ریست شده شمارندش
      و با نوشتنش میتونیم این بیت رو صفر کنیم تا در دفعال بعدی هنگام خوندنش به مشکل بر نخوریم(هر چند که با ریست میکرو این بیت خودش پاک میکشه)

      حالا نظرا چیه؟ با این بیت نمیشه شمارنده تایمر واچ داگ رو ریست کرد؟
      اگه نمیشه پس با کدوم ریجستر میشه این کار رو کرد؟



      در ضمن ما فعلا میخوایم از ایران دل بکنیم عالم و آدم مانع ما هستن
      کدویژن این وسط گم هستش ^_^
      والا این مبانی اصلی رو یاد بگیرم میام سمت اتمل انشاالله

      اضافه شده در تاریخ :
      اینم از آموزش واچ داگ در کدویژن
      دوستان ببین اگه جایی چیزی جا انداختم بگن و اگه هم اشتباه گفتم بگن و...
      http://dmf313.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%ac%d8%a7%d9%85%d8%b9-avr-%d8%ac%d9%84%d8%b3%d9%87-%db%b2%db%b1-introduction-to-watchdog-timers/
      اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

      اگه دوس دارید سریع به جواب برسید :
      1) قبل از پرسیدن سوال، بسرچید.
      2) سوالاتون رو با جزئیات کامل مطرح کنید.

      دیدگاه


        #4
        پاسخ : کار نکردن پروژه ساده با تایمر واچ داگ &#1576


        جوری برنامه بنویس که کار واچ داگ رو بتونی دنبال کنی
        مثلا از یک کلید در اول برنامه استفاده کن تا اون کلید نزنی برنامه کار نکنه
        البته منم برخورد داشتم که این توابع برخی اوقات درست کار نمیکنن

        دیدگاه


          #5
          پاسخ : کار نکردن پروژه ساده با تایمر واچ داگ با کدویژن

          ممنون از شام
          والا این پروژه ساده برا تست توابع واچ داگ و صحت عملکردش هستش
          و این که در هر مرحله led های یکی از پورت ها روشن میشه، در حالت اول که واچ داگ فعال نیست led های porta روشن میشن و بعد که واپ داگ فعال میشه(و در زمان های مناسب ریست میشه) led های portb روشن میشه و در حالت آخر هم که واچ داگ غیر فعال مبشه led های portd روشن میشن...و توضیحات رو کامل در مطلب گفتم که چطور میشه فهمید که این توابع درست کار میکنن یا نه(یعنی تقریبا میشه گفت به سوالاتی مثل سوال شما پاسخ دادم)

          ایبته این پروژه ای هم که میگید بد نیست و انشاالله اگه یادم بمونه پروژش رو به مطلب پیوست میکنم
          اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

          اگه دوس دارید سریع به جواب برسید :
          1) قبل از پرسیدن سوال، بسرچید.
          2) سوالاتون رو با جزئیات کامل مطرح کنید.

          دیدگاه


            #6
            پاسخ 6

            درست میفرمایید من به برنامه خوب دقت نکردم


            دیدگاه


              #7
              پاسخ : کار نکردن پروژه ساده با تایمر واچ داگ با کدویژن

              دلیلش همونطور که گفته شد ریست شدن واچ داگ داخل روال تاخیر هست. از داخل منوهای کد ویژن می تونید غیر فعالش کنید.
              در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

              1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
              2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
              3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

              دیدگاه


                #8
                پاسخ : کار نکردن پروژه ساده با تایمر واچ داگ با کدویژن

                نوشته اصلی توسط siyavash2k
                دلیلش همونطور که گفته شد ریست شدن واچ داگ داخل روال تاخیر هست. از داخل منوهای کد ویژن می تونید غیر فعالش کنید.
                یعنی میشه کاری کرد که تابع delay_ms میکرو رو ریست نکنه؟ چطور؟ کجای کدویژن؟
                من گشتم و فقط یه مورد بود و اونم برا غیر فعال کردن واچ داگ بعد از ریست شدن میکرو هستش
                ... < PROJECT > CONFIGURE > C COMPILER > ADVANCED > STARTUP INSTALIZATION
                اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

                اگه دوس دارید سریع به جواب برسید :
                1) قبل از پرسیدن سوال، بسرچید.
                2) سوالاتون رو با جزئیات کامل مطرح کنید.

                دیدگاه


                  #9
                  پاسخ : کار نکردن پروژه ساده با تایمر واچ داگ با کدویژن

                  دقیقا زیرش :
                  در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

                  1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
                  2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
                  3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

                  دیدگاه


                    #10
                    پاسخ : کار نکردن پروژه ساده با تایمر واچ داگ با کدویژن

                    شوخی میکنی حتما O_p
                    زیرش که چیزی نیست
                    من از نسخه 3 خورده ای استفاده میکنم...شما از چند؟
                    میشه یه عکس بزاری؟
                    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

                    اگه دوس دارید سریع به جواب برسید :
                    1) قبل از پرسیدن سوال، بسرچید.
                    2) سوالاتون رو با جزئیات کامل مطرح کنید.

                    دیدگاه


                      #11
                      پاسخ : کار نکردن پروژه ساده با تایمر واچ داگ با کدویژن

                      نسخه من 3.24 هست. عکس نمی تونم پلود کنم. دنگ و فنگ داره. ایمیل بده تا عکسش را برات میل کنم.
                      احتمالا شما از نسخه 3.14 استفاده کنی مشکلت حل میشه.
                      در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

                      1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
                      2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
                      3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

                      دیدگاه


                        #12
                        پاسخ : کار نکردن پروژه ساده با تایمر واچ داگ با کدویژن

                        تشکر دارم بابت این پست
                        باعث شد یکی از ابهامات و مشکلات من در رابطه با واچ داگ رفع بشه

                        و ایا اگر از تابع تاخیر میلی ثانیه استفاده نکنیم دیگه مشکلی پیش نمیاد ؟
                        من از تابع تاخیر میکرو ثانیه استفاده کردم ؟ اشکال نداره ؟

                        دیدگاه


                          #13
                          پاسخ : کار نکردن پروژه ساده با تایمر واچ داگ با کدویژن

                          چه مشکلی؟
                          بیشتر توضیح بدین.
                          در زیر این نقاب چیزی بیشتر از گوشت هست. در زیر این نقاب یک ایده هست و ایده ها ضدگلوله هستند.

                          1-به اندازه ی باورهای هر کسی ؛ با او حرف بزن …. بیشتر که بگویی ، تو را احمق فرض خواهد کرد …!!!
                          2-تنها دو گروه نمى توانند افکار خود را عوض کنند: دیوانگان تیمارستان و مردگان گورستان.
                          3-آدم ها مثل عکس ها هستند: زیاد بزرگشون کنی ، کیفیتشون میاد پایین!

                          دیدگاه


                            #14
                            پاسخ : کار نکردن پروژه ساده با تایمر واچ داگ &#1576

                            نوشته اصلی توسط دیجت
                            تشکر دارم بابت این پست
                            باعث شد یکی از ابهامات و مشکلات من در رابطه با واچ داگ رفع بشه

                            و ایا اگر از تابع تاخیر میلی ثانیه استفاده نکنیم دیگه مشکلی پیش نمیاد ؟
                            من از تابع تاخیر میکرو ثانیه استفاده کردم ؟ اشکال نداره ؟
                            تو کدویژن فقط میلی مشکل ساز هستش و میکرو ثانیه مشکلی نداره0-----DELYAY منظورمه
                            یه مطلب براش نوشتم


                            آموزش آردوینو جلسه ۱۳ Introduction to Watchdog Timers in Arduino

                            آموزش جامع AVR جلسه ۲۱ Introduction to Watchdog Timers
                            اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

                            اگه دوس دارید سریع به جواب برسید :
                            1) قبل از پرسیدن سوال، بسرچید.
                            2) سوالاتون رو با جزئیات کامل مطرح کنید.

                            دیدگاه


                              #15
                              پاسخ : پاسخ : کار نکردن پروژه ساده با تایمر واچ داگ ب

                              نوشته اصلی توسط md3848
                              تو کدویژن فقط میلی مشکل ساز هستش و میکرو ثانیه مشکلی نداره0-----DELYAY منظورمه
                              یه مطلب براش نوشتم

                              با تشکر از دوستان
                              راستش من اومدم که واچ داگ فعال کردم و از تابع تاخیر میلی ثانیه ( DELYAY ) استفاده نکردم و فقط از تاخیر میکرو ثانیه استفاده کردم
                              ولی گویا روش خوبی نیست و باید کلا از تاخیر استفاده نکنم یا واچ داگ
                              چرا ؟

                              چون من توی برنامه از تابع تاخیر میلی ثانیه استفاده نمیکنم .. ولی توابع کتابخونه استفاده میکنن
                              حتی توابع ای که بهشون دسترسی نداریم
                              بی واچ داگ چگونه سر کنیم اکنون ؟


                              دیدگاه

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