اطلاعیه

Collapse
No announcement yet.

اتصال دو avr

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

    اتصال دو avr

    آیا می توان یک port یک avr را به صورت ورودی و یک port از یک avr دیگر را به صورت خروجی معرفی کرد و اطلاعات را بین آن ها رد و بدل کرد یا روش خاصی دارد :redface:
    یکی میگفت خدا چرا به حرفای ما گوش نمیده گفتم
    هان ای صنما،دل یک دله کن
    گر سر ندهم ،وانگه گله کن

    #2
    پاسخ : اتصال دو avr

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

    دیدگاه


      #3
      پاسخ : اتصال دو avr

      سلام نوکرم داداش.



      یکی از پروتکل ها در avr پروتکل uart (سریال ) می باشد.در این روش بین دو میکرو توسط 2 سیم به هم اتصال پیدا می کنند که در این حالت دو میکرو می توانند به یکدیگر اطلاعات رد و بدل کنندو اگر می خواهید ارتباط یک طرفه باشد به یک سیم بیشتر نیاز نیست.

      منظور از یک طرفه این است که یک میکرو فقط اطلاعات به میکرو دوم بفرستد و میکرو دوم ان را دریافت کند و دیگر میکرو دوم اطلاعاتی به میکرو اول نفرستد.

      و اما خود uart بر دو نوع 1:سخت افزاری 2: نرم افزاری تقسیم می شود.

      در نوع سخت افزاری پایه ای که اول از طرف کارخانه مشخص شده است می تواند اطلاعات را ارسال کند و در نوع نرم افزاری خودمان پایه ارسال دیتا به صورت سریال را مشخص می کنیم.

      در میکرو های avr 2 پایه وجود دارد که علاوه بر پورت ورودی و خروجی به عنوان پورت سریال استفاده می شود که دردیتا شیت میکرودر کنار این پورت ها RXD و TXD نوشته شده است.

      مثلا در میکرو ATMEGA8 به صورت زیر مشخص شده است.





      پایه ای که با نام RXD مشخص شده است وظیفه دریافت اطلاعات را بر عهده دارد و پایه ای که با نام TXD مشخص شده است وظیفه ارسال اطلاعات را بر عهده دارد.


      برنامه ای سی فرستنده:

      'Tx

      $regfile = "m8def.dat"

      $crystal = 1000000

      $baud = 5000

      Dim A As Byte

      Config Portb = Input

      Portb = 255

      A = 0

      Main:

      Do

      A = Pinb

      Printbin A

      Loop


      برنامه بالا برنامه ای سی فرستنده اطلاعات (tx)می باشد.که ابتدا نوع میکرو مشخص شده سپس در خط دوم فرکانس میکرو تعیین شده است.

      در خط بعد عبارتی به صورت baud = 5000 که این خط مقدار اطلاعات ارسال شده بر حسب بیت بر ثانیه را مشخص می کند که باود ریت نامیده می شود.که باید توجه داشت مقدار فرکانس و باود ریت در میکرو فرستنده و گیرنده باید یکی باشد تا اطلاعات رد و بدل شود.

      برای ارسال اطلاعات از دستور Printbin استفاده می شود مثلا برای ارسال یک متغییر به صورت زیر دستور را می نویسیم

      Printbin A




      برنامه ای سی گیرنده(Rx ):



      'Rx

      $regfile = "m8def.dat"

      $crystal = 1000000

      $baud = 5000

      Config Lcd = 16 * 2

      Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , _

      Db7 = Portb.0 , E = Portb.4 , Rs = Portb.5

      Dim A As Byte

      A = 0

      Cls

      Cursor Off

      Lcd "Hello"

      Locate 2 , 1

      Lcd "www.eca.ir "

      Wait 2

      Cls

      hamed:

      Home

      Lcd "Data:" ; A ; " "

      Locate 2 , 1

      Lcd "www.eca.ir"

      Inputbin A

      Goto hamed



      در برنامه گیرنده همانطور که گفتم مقدار فرکانس و باودریت مانند فرستنده می باشد.

      اما برای دریافت اطلاعات از دستور Inputbin می کنیم و برای اینکه اصلاعات در متغییری ذخیره شود از دستور زیر استفاده می کنیم.

      Inputbin A





      من تا حالا تشکر ازم نشده حد اقل شما یه تشکری از من بکنیییییییییییییییییییییییییییییید با لینک تشکر :bye :bye :cry: :cry: :cry: :cry: :cry2: :cry2: :cry2:






      منبع : www.yazdkit.com
      به نام خدا

      دیدم آن چشمه ی هستی که جهانش خوانند

      _-_-_-_-_-_-_-_-
      آنقدر آب کزان دست توان شست نداشت به به به به

      دیدگاه


        #4
        پاسخ : اتصال دو avr

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

        دیدگاه


          #5
          پاسخ : اتصال دو avr

          می شود لطفا طرز نوشتن ارتباط سریال را برای نرم افزار cod vison بیان کنید avr های من atmega16 و atmega162 است :applause:
          یکی میگفت خدا چرا به حرفای ما گوش نمیده گفتم
          هان ای صنما،دل یک دله کن
          گر سر ندهم ،وانگه گله کن

          دیدگاه


            #6
            پاسخ : اتصال دو avr

            سلام
            دوست من ؛ ارتباط با یک پین به این صورت که شما می خواهید بسیار سخت است چون شما بایستی حتما فرستنده و گیرنده را هماهنگ کنید مثلا به گیرنده بگید که کی اطلاعات رو بگیره و کی اطلاعات بعدی رو
            به نظر من خودبون رو اذیت نکنبد بهترین روشها همان spi و ارتباط سریال است
            که من از بین ایندو ارتباط سریال رو خیلی بیشتر توصیه می کنم چون خیلی قابلیت های بیشتری دارد شما خیلی می تونید کنترل داشته باشید و با مبدلهایی می تونید در مسافتهای زباد هم کار کنید
            من هم بعضی وقتها که از هیچکدام از اینها نتونسته ام استفاه کنم ( در برخی پروژها به علت شرایط خیلی خاص ) خودم با 3 پین یک همچنین کاری کرده ام ولی اصلا به خوبی ارتباط سریال میکرو نیست

            دیدگاه


              #7
              پاسخ : اتصال دو avr

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

              دیدگاه


                #8
                پاسخ : اتصال دو avr

                سلام ...........
                ارسال سریال اطلاعات در حالت ساده ، بیت به بیت انجام میشه مگر از طریق پروتکلی خاص مثل USB .(پاکت دیتا و .......)
                دوستان! مدتی کمتر به سایت میام ..

                دیدگاه


                  #9
                  پاسخ : اتصال دو avr

                  من نمی توانم از از ارتباط uart استفاده کنم چون پایه ss رات نیاز دارم برای کار دیگر می شود در باره اتصال usart توضیح بدهید
                  یکی میگفت خدا چرا به حرفای ما گوش نمیده گفتم
                  هان ای صنما،دل یک دله کن
                  گر سر ندهم ،وانگه گله کن

                  دیدگاه


                    #10
                    پاسخ : اتصال دو avr

                    سلام .................

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

                    توی تنظیمات فرستنده (Transmitter) مقدار Baud رو تعیین میکنی و برای میکروی گیرنده هم حالتReciever روانتخاب می کنی و با همون مقدار Baud . باقی کار هم که بر می گرده به دستورات نرم افزاری.

                    در مورد ارتباط سریال یا مقوله ی Baud هم اگه سوالی داشتید به این تاپیک یه سری بزنید .

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



                    "راستی یه سری به این تاپیک بزنید (خارج از موضوعه)"

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


                    موفق باشید .

                    دوستان! مدتی کمتر به سایت میام ..

                    دیدگاه


                      #11
                      پاسخ : اتصال دو avr

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

                      دیدگاه


                        #12
                        پاسخ : اتصال دو avr

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

                        دیدگاه


                          #13
                          پاسخ : اتصال دو avr

                          بهترین ارتباط TWI (two wire interface هستش
                          مهم نیست که چه اندیشه ای در سر و چه ترسی در دل دارید؛ مهم آن است که بیکار ننشینید و دست به کاری بزنید و وارد میدان عمل بشوید.

                          نمی توانید به کودکی بیاموزید که از خود مواظبت کند، مگر آنکه او را آزاد بگذارید تا برای مواظبت از خود بکوشد؛ ممکن است اشتباه کند، ولی دانایی او از میان همین اشتباهات سرچشمه می گیرد.

                          دیدگاه


                            #14
                            پاسخ : اتصال دو avr

                            سلام .................

                            اگه محدودیت پورت نداشته باشی ، SPI از همه بهتره .
                            دوستان! مدتی کمتر به سایت میام ..

                            دیدگاه


                              #15
                              پاسخ : اتصال دو avr

                              نوشته اصلی توسط segmex
                              بهترین ارتباط TWI (two wire interface هستش
                              نی شود در مورد این ارتباط توضیح بدهید اگر مثال حل شده بدهد خیلی عالی تر :applause:
                              یکی میگفت خدا چرا به حرفای ما گوش نمیده گفتم
                              هان ای صنما،دل یک دله کن
                              گر سر ندهم ،وانگه گله کن

                              دیدگاه

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