اطلاعیه

Collapse
No announcement yet.

یک تکنیک در برنامه نویسی و طراحی

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

    یک تکنیک در برنامه نویسی و طراحی

    سلام

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

    #2
    پاسخ : یک تکنیک در برنامه نویسی و طراحی

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

    دیدگاه


      #3
      پاسخ : یک تکنیک در برنامه نویسی و طراحی

      دقیقا :mrgreen:
      بعضی جاها خیلی کاربرد داره
      خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

      دیدگاه


        #4
        پاسخ : یک تکنیک در برنامه نویسی و طراحی

        نوشته اصلی توسط حمید نجفی
        دقیقا :mrgreen:
        بعضی جاها خیلی کاربرد داره
        فکر کنم هر شرطی که می خوایم مثلا همونی که شما گفتید(جمع دو عدد شد 54) رو با یهif مینویسیم بعد میگیم اگه برقرار شد بیاد یه پورت رو یک کنه و اون پورت وصل باشه به مثلا INT0 و تنظیمات این اینتراپتم مثلا Rising باشه و این طوری از طریق اعمال نرم افزاری اینتراپت رو فعال کردیم و پس گردنی زدیم(از این همه مثلا خجلم) :applause: :wow:
        دوستان! مدتی کمتر به سایت میام ..

        دیدگاه


          #5
          پاسخ : یک تکنیک در برنامه نویسی و طراحی

          گیر دادین به پس گردنیا :mrgreen:
          خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

          دیدگاه


            #6
            پاسخ : یک تکنیک در برنامه نویسی و طراحی

            به نظر من اگه یه کم به فرق اینتراپت سخت افزاری و نرم افزاری دقت بکنیم ، لازم نیست اینقد زحمت بکشیم و 2 تا پایه رو بیخودی مصرف کنیم.
            وقتی اینتراپت خارجی فعال میشه در حقیقت ما از خارج یک تابع داخلی رو فراخوانی میکنیم حالا اسم این تابع اینتراپت باشه یا هرچیز دیگه.
            وقتی ما میتونیم این فراخوانی رو توو خود نرم افزار انجام بدیم چرا باید دوباره اونو به یه پین بدیم و با پین دیگه بگیریم! :eek:
            اگر ندانی کجا میروی هر راهی تو را باخود خواهد برد.

            دیدگاه


              #7
              پاسخ : یک تکنیک در برنامه نویسی و طراحی

              سلام .

              چرا باید لقمه رو به پرواز در بیاریم بعد بریم دنبالش.
              چرا باید اینتراپت بدیم.؟
              به گفته آقای نجفی هر موقع جمع دو عدد 54 شد میگیم بپر به لوپ مورد نظرمون .حالا چرا الکی دو تا پایه میکرو رو اشغال کنیم.
              مثلا if a=54 then goto milad

              هر موقع a برابر 54 شد به لوپ milad میپره. میلاد میتونه اسم همون برچسب اینتراپت مون باشه/. :NO:
              شاید من اشتباه میکنم

              www.icesi.ir

              دیدگاه


                #8
                پاسخ : یک تکنیک در برنامه نویسی و طراحی

                نوشته اصلی توسط حمید نجفی
                گیر دادین به پس گردنیا :mrgreen:
                من میگم حمید چندتا از اون کاربرداشو بگه تا ما به پس گردنی گیر ندیم.

                دیدگاه


                  #9
                  پاسخ : یک تکنیک در برنامه نویسی و طراحی

                  بحث وقفه ی نرم افزاری با این مواردی شما دارید مقایسه می کنید فرق داره، این مورد حمید آقا میگن Flag وقفه رو یک می کنه و اگر برنامه تو ISR باشه، بعد از بازگشت بر حسب اولویت به اون وقفه های نرم افزار پاسخ میده. از وقفه ی نرم افزاری بسیار زیاد در سیستم عامل ویندور استفاده می شه :smile:
                  There is nothing so practical as a good theory. — Kurt Lewin, 1951

                  دیدگاه


                    #10
                    پاسخ : یک تکنیک در برنامه نویسی و طراحی

                    ببینید مثلا روشی که میلاد جان گفت برای برنامه هایی مقدار خطوط پایین جواب میده
                    اما تو یک برنامه 2000 خطی وقتی یک Flag یک میشه یک دستور شرطی هم میخواد تا بره به اون Loop حالا این دستور شرطی یا باید خط به خط برنامه باشه یا باید منتظر شیم تا برنامه بهش برسه.
                    اما با این روش برنامه کوچکترین صبری نمیکنه برای یک عملکرد سریع
                    اینطوری نیست میلاد جان؟
                    خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

                    دیدگاه


                      #11
                      پاسخ : یک تکنیک در برنامه نویسی و طراحی

                      سلام.
                      حرفت درسته .
                      ما هم فرض میکنیم برناممون 2000 خط هستش بالاخره باید تست کنیم که چه موقع جمع 2 عددمون 54 میشه یا نه؟
                      www.icesi.ir

                      دیدگاه


                        #12
                        پاسخ : یک تکنیک در برنامه نویسی و طراحی

                        ممکن یک تابع بنویسیم که هر وقت خروجی این تابع شد مقدار مورد نظر ما سریع پرش رو داشته باشیم
                        خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

                        دیدگاه


                          #13
                          پاسخ : یک تکنیک در برنامه نویسی و طراحی

                          میشه یکم بیشتر توضیح بدید؟

                          سپاس گذار :nice:
                          www.icesi.ir

                          دیدگاه


                            #14
                            پاسخ : یک تکنیک در برنامه نویسی و طراحی

                            نیازی نیست یه پایه از میکرو رو هدر بدید ، وقتی یکی از وقفه های خارجی روی rising باشه ( بطور مثال ) و اون پایه خروجی هم باشه ، به محض اینکه ما اونو یک کنیم اینتراپت مربوط به اون ایجاد میشه . در حالت عادی باید پایه وقفه خارجی به صورت ورودی باشه ، ولی اگر خروجی باشه میشه از داخل تحریکش کرد .
                            فتو بلاگ من
                            کاردستی ها :
                            روبات شطرنج باز ( یادگار دوران جوانی )
                            فارسی نویسی مستقیم در نمایشگر های گرافیکی
                            کتابچه خود آموز زبان توصیف سخت افزار Verilog

                            دیدگاه


                              #15
                              پاسخ : یک تکنیک در برنامه نویسی و طراحی

                              نوشته اصلی توسط shankimout
                              نیازی نیست یه پایه از میکرو رو هدر بدید ، وقتی یکی از وقفه های خارجی روی rising باشه ( بطور مثال ) و اون پایه خروجی هم باشه ، به محض اینکه ما اونو یک کنیم اینتراپت مربوط به اون ایجاد میشه . در حالت عادی باید پایه وقفه خارجی به صورت ورودی باشه ، ولی اگر خروجی باشه میشه از داخل تحریکش کرد .
                              چه جالب . نمی دونستم اینو.
                              حالا اگه تو حالت عادی اونو خروجی تعریف کنیم ولی هیچ وقت بهش مقدار ندیم، از داخل تحریک نمیشه دیگه. تو این حالت از بیرون میشه تحریک بشه یا نه؟

                              دیدگاه

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