اطلاعیه

Collapse
No announcement yet.

یه سوال در باره ی وقفه ی خارجی

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

    یه سوال در باره ی وقفه ی خارجی

    سلام
    دوتا سوال کردم کسی که جوابمو نداد :cry:
    حالا با پررویی تمام سوال سومو مطرح میکنم: :biggrin:
    بچه ها من می خوام از اینترابت خارجی استفاده کنم و اونو فعال لبه ی پایین رونده تعریف کنم
    قراره رو این پایه ی اینترابت که اول کار یکه به مدت یه میلی ثانیه صفر و به مدت نامعلوم (بین 1تا 10 میلی ثانیه) یه سری اطلاعات صفرو یکی بیاد،وآخر کار هم این پایه یک میمونه
    با صفر شدن پایه ی اینترابت خارجی که وقفه شروع میشه ودر سرویس روتین وقفه کل وقفه هارو غیر فعال میکنم که دوباره فعال نشه (شروع اومدن اطلاعات معلومه)حالا چطور میتونم به طورت سریع پایان اون صفرو یکارو که رو این پایه میاندو تشخیص بدم و دوباره وقفه رو فعال کنم؟
    آخر اطلاعات دیتاها 1 میشند وثابت میمونند.
    یکم پیچیده شد ولی کارم گیرشه :read:

    #2
    پاسخ : یه سوال در باره ی وقفه ی خارجی

    با سلام
    شما بیشتر در مورد اون اطلاعاتی که برات میاد توضیح بده
    تعداد بیت هایی که میاد مشخص هست ؟
    روزی که درک کردیم همه چیز به خدا تعلق دارد . آن روز .روز طلوع دانش است

    دیدگاه


      #3
      پاسخ : یه سوال در باره ی وقفه ی خارجی

      سلام
      آره
      تعداد بیتام مشخصه.
      ولی نمیدونم چطور باید تضوح بدم

      دیدگاه


        #4
        پاسخ : یه سوال در باره ی وقفه ی خارجی

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

        دیدگاه


          #5
          پاسخ : یه سوال در باره ی وقفه ی خارجی

          با سلام
          من چطوری تعداد بیتارو بشمرم (یعنی با پایه ی اینترابت خارجی این کارو میشه کرد؟)
          باید بگم که این میکرویی که گفتم اینراپتشو فعال کردم نمی خوام اطلاعاتو بگیره ها
          وقطو فقط وقفش فعال میشه که یه کار خاصیو برام انجام بده
          مفصل ترش اینجاست
          http://www.eca.ir/forum2/index.php?topic=86564.0

          دیدگاه


            #6
            پاسخ : یه سوال در باره ی وقفه ی خارجی

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

            دیدگاه


              #7
              پاسخ : یه سوال در باره ی وقفه ی خارجی

              بنظر من از تایمر استفاده کنی بهتره.تا وقفه خارجی.

              دیدگاه


                #8
                پاسخ : یه سوال در باره ی وقفه ی خارجی

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

                دیدگاه


                  #9
                  پاسخ : یه سوال در باره ی وقفه ی خارجی

                  نوشته اصلی توسط جعفر رضائی
                  با سلام
                  راستش من بعید میدونم تایمر جواب بده .چون فرض کن این دیتای که قرار اینتراپت رو فعال کنه مثلا کمی دیر اومد و یا کم زود اومد .اون وقت کاری که باید انجام بشه نمیتونه دقیقا در زمان خودش اجرا بشه
                  سلام.
                  خوب شاید اگه پایه OC1Aآ‌رو ابتدا بعنوان ورودی تعریف کنیم.و یه حلقه بزاریم تا زمانیکه مثلا این پایه صفر نشده توی حلقه بمونه.اگرم صفر شد از حلقه خارج شه وتایمریو مثلا تایمر 1 رو روشن کنه.تایمر شروع به شمردن میکنه و با هربار تغییر وضعیت پایه تایمر ریست میشه.اگه وضعیت پایه برای یه مدت تغییر نکنه تایمر سرریز میشه بعدش هرکاریکه میخاینو انجام بدین.

                  دیدگاه


                    #10
                    پاسخ : یه سوال در باره ی وقفه ی خارجی

                    سلام
                    من فکر میکنم این تایمره فکر بدی نباشه.
                    فقط این که تایمر کوچیکترین زمانیو که اندازه گیری میکنه چقدر میتونه باشه؟
                    چون بودریت دیتاهای من ممکنه که تا115200 بالابره.یعنی زمان یک یا صفر بودن یه بیتم میشه تقریبا 8میکرو ثانیه.
                    یکی این و یکیم اینکه ممکنه دیتای من یه بایت صفر ویا یه بایت یک باشه،واسه اینم به نظرتون میشه چاره ای اندیشید؟

                    دیدگاه


                      #11
                      پاسخ : یه سوال در باره ی وقفه ی خارجی

                      نوشته اصلی توسط bahram1
                      سلام
                      من فکر میکنم این تایمره فکر بدی نباشه.
                      فقط این که تایمر کوچیکترین زمانیو که اندازه گیری میکنه چقدر میتونه باشه؟
                      چون بودریت دیتاهای من ممکنه که تا115200 بالابره.یعنی زمان یک یا صفر بودن یه بیتم میشه تقریبا 8میکرو ثانیه.
                      یکی این و یکیم اینکه ممکنه دیتای من یه بایت صفر ویا یه بایت یک باشه،واسه اینم به نظرتون میشه چاره ای اندیشید؟
                      حداکثر زمان تایمر فک کنم مهم باشه نه حداقل زمان.
                      بدترین شرایطو باید در نظر بگیری مثلا حداکثر چنتا بیت یکسان میتونن پشت سر هم باشن(حداکثر چند میلی ثانیه پایه میتونه بدون تغییر بمونه) این میشه کران بالای تایمرت اگر بیشتر از این مدت پایه تغییر وضعیت نداد تایمر سررسز میکنه.

                      دیدگاه


                        #12
                        پاسخ : یه سوال در باره ی وقفه ی خارجی

                        خب حده اکثر بیتای ارسالی من که میتونند یکسان باشند هشتاهستند چون بیت آغازو پایان دارم
                        باید بشینم درموردش فکر کنم ببینم چطور در میاد
                        ممنون که کمکم کردی

                        دیدگاه

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