اطلاعیه

Collapse
No announcement yet.

آیا استفاده از 3 تایمر همزمان مشکلی ایجاد نمیکنه؟

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

    #16
    پاسخ : آیا استفاده از 3 تایمر همزمان مشکلی ایجاد نمیکنه؟

    نوشته اصلی توسط Saeed Bagherani


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

    اگه نه === چرا روی چیزی که نمیدونی بحث می کنی و مردم رو به اشتباه میندازی


    اگه قرار باشه با 1 وقفه بقیه وقفه ها از کار بیفتن میکرو 2 ریال هم ارزش نداره و اصلا چند تا وقفه توی اون اضافه استفاده شده


    این حرکتتون اصلا درست نیست ، چرا سعی می کنی بگی فقط خودت یه چیزایی حالیته در حالی که اشتباه می کنی
    Share OR Die

    دیدگاه


      #17
      پاسخ : آیا استفاده از 3 تایمر همزمان مشکلی ایجاد نمیکنه؟

      در مورد بحث از دست رفتن وقفه که جناب behi88 اشاره فرمودند، هرچند در حین اجرای هر وقفه flag کلی I واقع در SREG که مربوط به تمام وقفه هاست بصورت خودکار صفر می شود و تا بازگشت از آن وقفه صفر می ماند. اما هر منبع وقفه ای برای خود یک flag مستقل هم دارد و تا زمانی که به وقفه مربوط به آن منبع پاسخ داده نشود همچنان یک می ماند. بنابراین هیچ وقفه ای از دست نمی رود و بعد از بازگشت از روتین وقفه جاری، به وقفه ای که flag آن از قبل یک شده، پاسخ داده می شود.
      مثلا اگر CPU در حال پاسخ گویی به وقفه یکی از TIMER ها باشد و در همین حال یک لبه بالا رونده روی ورودی INT0 ایجاد شود، با فرض اینکه در ابتدای برنامه لبه بالا رونده به عنوان منبع وقفه انتخاب شده باشد flag مربوط به آن که INTF0 نام دارد، یک می شود. بعد از اتمام وقفه TIMER با وجود اینکه لبه بالا رونده تمام شده، اما INTF0 همچنان یک است و بنابراین CPU از وقوع آن مطلع می شود وبه آدرس مربوط به این وقفه پرش می کند.
      در مورد بقیه وقفه ها هم به همین ترتیب است و وقفه ای از دست نمی رود.
      اوژن: به معنای افکننده و شکست دهنده است
      دانایی، توانایی است-Knowledge is POWER
      برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
      وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
      قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
      اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
      ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

      دیدگاه


        #18
        پاسخ : آیا استفاده از 3 تایمر همزمان مشکلی ایجاد نمیکنه؟

        نوشته اصلی توسط Mahdi.N

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

        این حرکت جنابعالی درست نیست
        من چنین ادعایی نکردم
        چیزی هم حالیم نیست
        تمامی این تاپیک ها رو از اول تا اینجا بخون ببین دلیل منطقی برای حرفت پیدا می کنی
        اگه شما متوجه شدید که من چیزی حالیم نیست حق با شماست
        ولی میشه بگی چرا برنامه ات جواب نداده ؟؟؟
        من ادعا کردم که از اون جواب گرفتم شما اگه می گی نمیشه به نظر خودت فقط دلیلش اونیه که گفتی یا میتونه موارد دیگه ای هم باشه

        اصلا تمامی گفته های شما درسته و من دارم کاملا اشتباه می کنم

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

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

        اصلا بیا این بحث رو دوباره از اول شروع کنیم

        من میگم میکرو کنترلری که چند تا وقفه رو داخل خوش داره همگی میتونن با هم کار کنن حتی اگه از تمام وقفه ها استفاده بشه
        و همچنین اگه تمام وقفه ها حتی در یک زمان (دقیقا در یک زمان ) اتفاق بیفته هیچ وقفه ای از بین نمیره و به تمام اونا رسیدگی میشه
        (اینها مشروط به اینه که برنامه رو اشتباه ننویسی ) :mrgreen:


        حالا شما ادعای خودتو بنویس تا بحث کنیم











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

        دیدگاه


          #19
          پاسخ : آیا استفاده از 3 تایمر همزمان مشکلی ایجاد نمیکنه؟

          جناب آقای مهدی دات ان

          بیا اینم یه برنامه با 3 تا وقفه 2 تا خارجی + 1 تایمر هرسه تا وقفه هم با هم عمل می کنن هر جند بار که میخوای تست کن
          وقت نداشتم ولی اگه بخوای با تمام وقفه ها هم برات مینویسم
          ببین حالا حرف من درسته یا جنابعالی
          اگه می تونی یه برنامه که درست نوشته شده باشه بیار که نشه
          اگه هم نمیتونی ....


          http://www.4shared.com/file/257685498/7eb37b35/test_interrupt.html




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

          دیدگاه


            #20
            پاسخ : آیا استفاده از 3 تایمر همزمان مشکلی ایجاد نمیکنه؟

            باشه مینویسم
            این پاسخ رو ارسال کردم که فکر نکنی دررفتم....
            چند روز بود که به ای تاپیک سر نزده بودم
            حالا که اینارو برام نوشتی ، ازت خوشم اومد ، برنامه ی شما رو هم دانلود می کنم ببینم چیکار کردی....
            Share OR Die

            دیدگاه


              #21
              پاسخ : آیا استفاده از 3 تایمر همزمان مشکلی ایجاد نمیکنه؟

              متاسفانه برنامتون دانلود نمیشه لطفا دوباره اپلود کنید...
              Share OR Die

              دیدگاه


                #22
                پاسخ : آیا استفاده از 3 تایمر همزمان مشکلی ایجاد نمیکنه؟

                بفرمایید ،اینم برنامه ای که من نوشتم
                می خواستم همه تایمر ها و وقفه ها رو فعال کنم اما فکر کردم با یک تایمر و یک وقفه هم میشه ادعای منو ثابت کرد
                اینم برنامه http://www.4shared.com/file/Qk3mAK6c/interrupt.html
                و شبیه سازیش
                در هر 4 ثانیه وقفه سرریز تایمر 1 اجرا میشه و به متغییر OF1 یکی اضافه میشه
                اما اگه کلید وقفه خارجی 0 رو فشار بدید تا 20 ثانیه هیچ اتفاقی نمی افته.....
                Share OR Die

                دیدگاه


                  #23
                  پاسخ : آیا استفاده از 3 تایمر همزمان مشکلی ایجاد نمیکنه؟

                  نوشته اصلی توسط Mahdi.N
                  متاسفانه برنامتون دانلود نمیشه لطفا دوباره اپلود کنید...
                  من دانلود کردم هیچ مشکلی نداره
                  اگه مردم می دونستن زمان چقدر با ارزشه دیگه هیچ وقت کفش بند دار نمی خریدن البرت انیشتن

                  دیدگاه


                    #24
                    پاسخ : آیا استفاده از 3 تایمر همزمان مشکلی ایجاد نمیکنه؟

                    نوشته اصلی توسط Mahdi.N
                    بفرمایید ،اینم برنامه ای که من نوشتم
                    می خواستم همه تایمر ها و وقفه ها رو فعال کنم اما فکر کردم با یک تایمر و یک وقفه هم میشه ادعای منو ثابت کرد
                    اینم برنامه http://www.4shared.com/file/Qk3mAK6c/interrupt.html
                    و شبیه سازیش
                    در هر 4 ثانیه وقفه سرریز تایمر 1 اجرا میشه و به متغییر OF1 یکی اضافه میشه
                    اما اگه کلید وقفه خارجی 0 رو فشار بدید تا 20 ثانیه هیچ اتفاقی نمی افته.....
                    شما از اول ادعا کردید که نمیشه و می گفتید که اصلا میکرو همچین توانایی رو نداره
                    اون برنامه ای که نوشتم این ادعا رو نقض میکنه و انجام میشه
                    بنابراین بحث تمومه


                    البته نقض اون خیلی راحته
                    به خودم میگفتی 10 تا برنامه برات مینوشتم که نه
                    ولی مشکل همون بود که بتونی جواب بگیری وگرنه پاسخ منفی دادن راحته
                    اگه توی همون برنامه ای که من نوشتم یه خط دستور بنویسی که وقفه رو غیر فعال کنه ادامه عملیات میکرو متوقف میشه
                    بنابراین شما کار خاصی انجام ندادی فقط یه کم برنامه رو خراب کردی
                    از اول هم گفتم برنامه ات ایراد داره که نتونستی جواب بگیری
                    حالا اینکه شما جواب نگرفتی دلیل بر اینکه نمیشه چنین کاری رو کرد نیست
                    دستورات چپ اندر قیچی توی برنامه نوشتن کاری نداره


                    از نظر من این بحث تموم شده است و ادامه اون نتیجه مفیدی نداره
                    اگه با این توضیحاتی که دادم قانع شدی چه بهتر اگه نشدی مبنا رو بزار روی همون چیزی که خودت گفتی و همون طوری یاد بگیر !
                    قضاوت در این مورد رو به بقیه دوستان واگذار میکنم


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

                    بعد از خیلی ارسال هایی که بوده بقیه دوستان نظرات بسیار بهتر و راهنمایی های دقیق تری انجام دادن توی این موضوعات به من برنخورده و خیلی راحت قبول کردم
                    توی 4 سال دوره دانشجویی من فقط 1 استاد بود که فقط یه بار اشتباه خودشو توی کلاس عنوان کرد
                    اما اکثرا این طور نبودن ...
                    به نظر شما اون استاد چیزی از شخصیت خودش کم کرد با اینکه خاطره مثبتی رو توی ذهن دانشجوهاش ایجاد کرد که بعد از این همه سال فقط اونو یادم میاد
                    من اگه موضوعی رو ارسال کردم اطمینان زیادی بر درست بودنش داشتم وگرنه کسی رو به اشتباه نمیندازم
                    دلیل تمام این صحبت ها پافشاری بیش از حد جنابعالی در این مورد بود
                    وگرنه این 4 روز دنیا ارزش این همه حرف رو نداره :smile:
                    توی بعضی از ارسال ها یکمی بوی بی ادبی میاد اگه این بی ادبی از طرف منه به بزرگی خودتون ببخشید در این ضمینه هیچ منظوری نداشتم

                    انشاا... این بحث ها بتونه مفید باشه




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

                    دیدگاه


                      #25
                      پاسخ : آیا استفاده از 3 تایمر همزمان مشکلی ایجاد نمیکنه؟

                      الان هم یه 5-6 تا تشکر برات فرستادم
                      حیف توی هر پست هر نفر 1 دونه بیشتر نمیتونه تشکر کنه وگرنه بیشتر تشکر میکردم



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

                      دیدگاه


                        #26
                        پاسخ : آیا استفاده از 3 تایمر همزمان مشکلی ایجاد نمیکنه؟

                        سلام
                        دوستان من برای برنامه ای از مگا 16 استفاده میکنم همین اول کار به یک چیز عجیب بر خوردم وقتی تایمر 0 رو تو حالت PWM و تایمر 2 رو CTC میزارم توی سرعت اجرای دستورات میکرو تاثیر میزاره هیچ انتراپتی هم فعال نکردم
                        داخل حلقه WHILE یک متغییر را با یک کلید پلاس پلاس میکنم توی حالت بدون تایمر در عرض 1 ثانیه به 255 میرسه ولی وقتی تایمرها رو فعال میکنم 5 ثانیه طور میکشه
                        ممنون میشم کمک کنید

                        دیدگاه


                          #27
                          پاسخ : آیا استفاده از 3 تایمر همزمان مشکلی ایجاد نمیکنه؟

                          نوشته اصلی توسط morteza.slk نمایش پست ها
                          سلام
                          دوستان من برای برنامه ای از مگا 16 استفاده میکنم همین اول کار به یک چیز عجیب بر خوردم وقتی تایمر 0 رو تو حالت PWM و تایمر 2 رو CTC میزارم توی سرعت اجرای دستورات میکرو تاثیر میزاره هیچ انتراپتی هم فعال نکردم
                          داخل حلقه WHILE یک متغییر را با یک کلید پلاس پلاس میکنم توی حالت بدون تایمر در عرض 1 ثانیه به 255 میرسه ولی وقتی تایمرها رو فعال میکنم 5 ثانیه طور میکشه
                          ممنون میشم کمک کنید
                          با سلام
                          بهتر است در اینگونه موارد برنامه ایی که نوشته اید را قرار دهید تا بشود نحوه کانفیگ رجیسترها در برنامه شما بررسی شده و اگر موردی بود کمک کرد.

                          دیدگاه


                            #28
                            پاسخ : آیا استفاده از 3 تایمر همزمان مشکلی ایجاد نمیکنه؟

                            نوشته اصلی توسط evergreen نمایش پست ها
                            با سلام
                            بهتر است در اینگونه موارد برنامه ایی که نوشته اید را قرار دهید تا بشود نحوه کانفیگ رجیسترها در برنامه شما بررسی شده و اگر موردی بود کمک کرد.

                            بفرمایید

                            من فقط میخوام دیوتی سایکل و فرکانس رو با 4 تا کلید تغییر بدم بطوری که یکی از تایمر ها برای دیوتی سایکل هستش و اون یکی برای فرکانس و خب سرعت پلاس پلاس شدن متغییر خیلی کم میشه
                            جدیدترین ویرایش توسط morteza.slk; ۲۳:۵۲ ۱۴۰۰/۰۵/۳۱.

                            دیدگاه


                              #29
                              پاسخ : آیا استفاده از 3 تایمر همزمان مشکلی ایجاد نمیکنه؟

                              نوشته اصلی توسط morteza.slk نمایش پست ها

                              بفرمایید

                              من فقط میخوام دیوتی سایکل و فرکانس رو با 4 تا کلید تغییر بدم بطوری که یکی از تایمر ها برای دیوتی سایکل هستش و اون یکی برای فرکانس و خب سرعت پلاس پلاس شدن متغییر خیلی کم میشه
                              با سلام مجدد
                              اون OCR0 که بعنوان متغییر در لوپ برنامه تغییر میدهید اسم یک رجیستر میباشد. اگر امکان دارد بجای OCR0 یک اسم دیگر برای متغیر انتخاب کنید و چک کنید که آیا مشکلی که گفتید برطرف نمیشود.

                              دیدگاه


                                #30
                                پاسخ : آیا استفاده از 3 تایمر همزمان مشکلی ایجاد نمیکنه؟

                                ممنونم مهندس فردا امتحان میکنم و نتیجه رو میگم

                                دیدگاه

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