اطلاعیه

Collapse
No announcement yet.

همزمانی استفاده از 2 سریال در میکرو 1284 یا مشابه بصورت صنعتی

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

    همزمانی استفاده از 2 سریال در میکرو 1284 یا مشابه بصورت صنعتی

    با سلام

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

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

    #2
    پاسخ : همزمانی استفاده از 2 سریال در میکرو 1284 یا مشابه بصورت صنعتی

    چرا باید مشکل داشته باشین وقتی هر چند ثانیه داده دریافت میکنید

    دیدگاه


      #3
      پاسخ : همزمانی استفاده از 2 سریال در میکرو 1284 یا مشابه بصورت صنعتی

      نوشته اصلی توسط mojalan
      چرا باید مشکل داشته باشین وقتی هر چند ثانیه داده دریافت میکنید
      ممکنه داده ها به هم برسند - یعنی همزمان به 2 سریال برسند و یکی با اولویت دیتا میگیره و بعدی منتظر میشه.
      و نسبت به دیتای دریافتی یه پردازش کوچک و منتظر دریافت بعدی باشه و درحالی که سریال دیگر منتظر نوبت دریافت در صف میباشد .
      و یک مسئله دیگر اینکه تایمری دارم که هر 100 میلی ثانیه عمل میکنه - که البته پردازش خیلی کوچیکی داره.

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

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

      دیدگاه


        #4
        پاسخ : همزمانی استفاده از 2 سریال در میکرو 1284 یا مشابه بصورت صنعتی

        خیلی چیزها نوع برنامه نویسی شما رو تحت تاثیر قرار میده. اما بطور کلی اگه داده های شما (مثلا در هر پکت 4 بایت بخواین دریافت داشته باشین برای هر کدوم از دو فرستنده) عملا هیچکدوم منتظر نمیشن اگر که از وقفه و صف حلقوی (که کدویژن استفاده میکنه برای دریافت داده از پورت سریال) استفاده کنید.
        شما داخل وقفه فقط داده رو دریافت کنید. پردازش رو بذارین داخل حلقه اصلی.
        و نکته دیگه اینک برنامه رو به صورت state پیاده سازی کنید تا هیچ پردازشی در انتظار دریافت نمونه. بعنوان مثال فرض کنید همون 4 بایت برای اولی فرستنده هست هدر A, B بعلاوه دو بایت داده
        و برای فرستنده دوم هست C,D بعلاوه دو بایت داده
        حالتهای برنامت میشه اینها(من اینجور مینویسم شما شاید بخوای جور دیگه ÷یاده کنی)
        1- دریافت بایت دوم از هدر (D و B)در حالیکه بایت دریافتی قبلی هم باشه (A یا C)
        2- درحال دریافت اولین بایت داده
        3- در حال دریافت بایت دوم داده
        * اگه برنامه رو جوری بنویسی که برنامه منتظر دریافت همه اطلاعات مورد نیازش مثلا از پورت اول بشه خب معلومه که داده های ورت دوم ممکنه از دست برند یا پردازششون با مشکل رخ بده

        دیدگاه


          #5
          پاسخ : همزمانی استفاده از 2 سریال در میکرو 1284 یا مشابه بصورت صنعتی

          اصل مطلب رو دوستان اشاره کردند. من فقط اضافه می کنم که در عمل؛ امکان اینکه دو وقفه ارتباط سریال همزمان برسند، چندان هم زیاد نیست به ویژه اینکه میکروی مورد نظر شما می تواند با فرکانس کلاک تا بیست MHz هم کار کند. در هر صورت، اولویت وقفه را ترتیب استفاده آنها در کد برنامه مشخص می کند.

          دیدگاه


            #6
            پاسخ : همزمانی استفاده از 2 سریال در میکرو 1284 یا مشابه بصورت صنعتی

            ممنون از جواب.

            مثلا دارم 1000 بایت ارسال میکنم و در وسط ارسال وقفه میخوره (در سریال دیگر البته) از جهت تئوری خوب میره و وقفه عمل مکنه و میاد ادامه 1000 تا را میره . میخواستم بدونم که در عمل خطا هم پیش میاد یا نه با دقت خیلی زیاد عمل میکنه؟

            سوال دوم اینکه 1000 بایت داره ارسال میشه و وقفه میخوره ( در همین سریال ) و در اواسط ارسال - این به چه صورت میشه؟

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

            دیدگاه


              #7
              پاسخ : همزمانی استفاده از 2 سریال در میکرو 1284 یا مشابه بصورت صنعتی

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

              دیدگاه

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