اطلاعیه

Collapse
No announcement yet.

پرت سریال

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

    پرت سریال

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

    #2
    پاسخ : پرت سریال

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

    فک کنم انتقال رو باید به طور نرمال انجام بدی و کاری باهاش نداشته باشی
    وقتی میکرو 2 اونا رو دریافت کرد شروع به پردازش اونا کنی و در محل مربوطه قرار بدی

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

    دیدگاه


      #3
      پاسخ : پرت سریال

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

      دیدگاه


        #4
        پاسخ : پرت سریال

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

        دیدگاه


          #5
          پاسخ : پرت سریال

          در مورد سوال شما اصول کلی یک راه حل بیان می شود و زحمت جزئیات آن را باید خودتان بکشید و یا از راهنمایی سایر دوستان استفاده کنید. یک راه حل پیشنهادی برای سوال شما استفاده از ارتباط سریال بصورت 9 بیتی است. به این ترتیب که بیت نهم ارتباط به عنوان تعیین آدرس یا Data بودن اطلاعات ارسالی عمل کند. برای ارسال هر بایت، ابتدا آدرس آن با بیت نهم یک ارسال می شود و میکروکنترلر دریافت کننده از این طریق متوجه می شود که بایتی که بعد از این با بیت نهم صفر دریافت می شود، مربوط به کدام آدرس است. در این شرایط رعایت هیچ ترتیبی در ارسال اطلاعات الزامی نیست و حتی می توانید یک بایت با آدرس مشخص را چند بار متوالی ارسال کنید. با این روش شما می توانید قراردادهای مختلفی را بین دو یا چند میکروکنترلر پیاده کنید که برای چند میکرو باید از وضعیت Multi processor communication استفاده کنید.
          اوژن: به معنای افکننده و شکست دهنده است
          دانایی، توانایی است-Knowledge is POWER
          برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
          وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
          قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
          اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
          ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

          دیدگاه


            #6
            پاسخ : پرت سریال

            با سلام
            پیشنهاد می شود از یک کدگذاری ساده برای ادرس دار شدن متغیر ها استفاده کنید.
            مثلا هر بایت یک متغیر را ( متغیر ، یک یا چند بایتی می باشد ) به دو بخش 4 بیتی بالا و پایین قسمت کنید.
            سپس هر کدام از آن 4 بیت را به پایین دو بایت جدید منتقل کنید و برای بالای این دو بایت جدید یک کد از 0000 تا 1111 باینری در نظر بگیرید. تا بتوانید 16 متغیر را آدرس دهی کنید.
            حالا این بایت های جدید هر موقع ارسال شوند ، در گیرنده می توانید بر اساس 4 بیت بالایی آنها ، آدرس متغیر را مشخص کنید.
            در یک جدول از پیش تعریف شده نیز ، چندبایتی بودن متغیرها را تعریف کنید ( مثلا متغیر اول یک بایتی است - متغیر دوم ، 4 بایتی است و....)
            لذا در طرف گیرنده ، هر داده ای دریافت شد ، ابتدا شماره متغیر را جدا می کنید سپس تعداد بایت آن را کنترل می کنید تا بایتهای بعدی را دریافت کنید.

            در این روش ، به ازای هر بایت از متغیرها ، دو بایت داده تبادل می شود.

            با سپاس

            گشتی در لاله زار
            http://www.eca.ir/forum2/index.php?topic=76138.0

            http://www.eca.ir/forum2/index.php?topic=76141

            دیدگاه


              #7
              پاسخ : پرت سریال

              سلام براساتید
              من در ارتباط سریال بین دو میکرو(rx tx )مشکل دارم .به طوری که در فرستنده چیزی print میکنم ودر گیرنده بادستورات inkeyوwaitkey می خوام اطلاعات برگردونم اطلاعات نغییر می کنه( در پروتوس).....درهر دو میکرو$baudهم برابر است ...کسی هست بدونه علت چیه!!!!!!!ممنون اگه کمک کنید ..................

              دیدگاه

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