اطلاعیه

Collapse
No announcement yet.

ارتباط سریال

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

    ارتباط سریال

    با سلام خدمت دوستان عزیز.
    من میخوام از طریق ارتباط سریال چندین داده را از 2تا میکرو به چند میکرو دیگر بفرستم بطوری که میکرو گیرنده متوجه شود که اطلاعات از طرف کدام میکرو فرستاده شده است.
    باید چیکار کنم..؟
    اگه کسی راهنماییم کنه ممنون میشم.
    مرسی
    تشكر لازم نيست. :^O
    اينها همش وظيفه ست. :^O

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

    سلام
    داده هاتون رو علامت گذاری کنید مثلا برای اولین میکرو داده ها رو اینطوری ارسال کن
    XXXXX@
    و برای دومین میکرو اینطوری
    XXXXX#
    و به همین ترتیب یا میتونید بجای علامات ار اعداد هم استفاده کنید .
    یعنی اطلاعات مربوط به میکرو اول با 1M و برای دومین با 2M و . . . علامتگذاری بشه.
    و میکرو گیرنده با دریافت دو حرف اول متوجه شماره میکرو ارسال کننده بشه .

    امیدوارم موثر باشه .

    موفق باشید :smile:
    [left][move][b][color=green][size=11pt]ما می توانیم .
    ، همین ... *. * * *. * * * [color=re

    دیدگاه


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

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

      به نظر من اگه میخواین با چندین میکرو ارتباط برقرار کنین بهتره از I2C و یا SPI استفاده کنید چون هم قابلیت master و هم Slave رو داره در ضمن در spi میتونی فاصله میکروها رو از هم بیشتر کنید ( منظور اگه میکروهات فاصله زیادی دارن میتونی از spi استفاده کنی ) در مورد آموزشش هم مطالب تو سایت زیاده موفّق باشید
      AV Maziton 100
      Render By Artlantis Studio
      [img width=346 height=100]http://maziyar123.persiangig.com/View.jpg[/img]

      دیدگاه


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

        :applause:
        [left][move][b][color=green][size=11pt]ما می توانیم .
        ، همین ... *. * * *. * * * [color=re

        دیدگاه


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

          سلام دادا.

          به نظر من اگه میخواین با چندین میکرو ارتباط برقرار کنین بهتره از I2C و یا SPI استفاده کنید چون هم قابلیت master و هم Slave رو داره در ضمن در spi میتونی فاصله میکروها رو از هم بیشتر کنید
          اینطوری نیست. در ارتباط spi (که خودش نوعی از سریاله) برعکس صحبت شما نمیشه با spi بین میکروها فاصله زیادی گذاشت. اگه اما دقت دقت کرده باشی در پروتکل RS232 تا 15 متر و در RS485 تا 1000 متر میشه طول سیم داشته باشیم. در این 2 پروتکل هم slave و master داره.
          بنظر من باید اول مشخص بشه که هدف از ارتباط چیه، بعد تعیین بشه چه پروتکلی.
          تشکر لازم نیست!

          دیدگاه


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

            نوشته اصلی توسط iman-63
            سلام دادا.
            اینطوری نیست. در ارتباط spi (که خودش نوعی از سریاله) برعکس صحبت شما نمیشه با spi بین میکروها فاصله زیادی گذاشت. اگه اما دقت دقت کرده باشی در پروتکل RS232 تا 15 متر و در RS485 تا 1000 متر میشه طول سیم داشته باشیم. در این 2 پروتکل هم slave و master داره.
            بنظر من باید اول مشخص بشه که هدف از ارتباط چیه، بعد تعیین بشه چه پروتکلی.
            سلام
            بنظر من این روش کدگزاری جالبه ..
            سوالی که دارم اینه که master و slave در این دو پروتکل چطوره ؟؟؟ بیشتر توضیح بدید؟؟؟
            تعداد میکرو ها هم مهمه ؟؟؟ یعنی محدوده؟؟؟

            دیدگاه


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

              سلام
              همین روش کدگذاریو من تست کرده بودم، خوب جواب داد.
              ;()((void (*)(void))0x0000))

              دیدگاه


                #8
                پاسخ : ارتباط سریال

                سلام
                آقا شما می تونید با همون RS232 همین کارو بکنید زمانی که شما از یک میکرو به چند تا میکرو میخواهید داده ارسال کنید برای هرکدوم از این میکروها یه پین (غیر از پین دیتا) ورودی تعیین کنید بعد تو برنامتون طوری تعریف کنید که اگه این پین High شد دیتا رو بگیره (دقیقا شبیه پایه SS تو SPI )
                موفق باشی :biggrin:

                دیدگاه


                  #9
                  پاسخ : ارتباط سریال

                  نوشته اصلی توسط iman-63
                  سلام دادا.
                  اینطوری نیست. در ارتباط spi (که خودش نوعی از سریاله) برعکس صحبت شما نمیشه با spi بین میکروها فاصله زیادی گذاشت. اگه اما دقت دقت کرده باشی در پروتکل RS232 تا 15 متر و در RS485 تا 1000 متر میشه طول سیم داشته باشیم. در این 2 پروتکل هم slave و master داره.
                  بنظر من باید اول مشخص بشه که هدف از ارتباط چیه، بعد تعیین بشه چه پروتکلی.
                  سلام اقا ایمان راستش من این مطلبو تو یه سایتی دیده بودم دقیق یادم نمیاد کدوم امان از این اطّلاعات
                  غلطی که به آدم میدن
                  AV Maziton 100
                  Render By Artlantis Studio
                  [img width=346 height=100]http://maziyar123.persiangig.com/View.jpg[/img]

                  دیدگاه


                    #10
                    پاسخ : ارتباط سریال

                    نوشته اصلی توسط ATI RADEON
                    آقا شما می تونید با همون RS232 همین کارو بکنید زمانی که شما از یک میکرو به چند تا میکرو میخواهید داده ارسال کنید برای هرکدوم از این میکروها یه پین (غیر از پین دیتا) ورودی تعیین کنید بعد تو برنامتون طوری تعریف کنید که اگه این پین High شد دیتا رو بگیره (دقیقا شبیه پایه SS تو SPI )
                    موفق باشی :biggrin:
                    روش خوبیه دادا. اما زمانی که تعداد میکروها زیاد بشه یه جورایی فاجه هست!!!

                    نوشته اصلی توسط maziyar123
                    سلام اقا ایمان راستش من این مطلبو تو یه سایتی دیده بودم دقیق یادم نمیاد کدوم امان از این اطّلاعات
                    غلطی که به آدم میدن
                    طوری نیست دادا. توی دنیا پر است از این اطلاعات غلط.
                    تشکر لازم نیست!

                    دیدگاه


                      #11
                      پاسخ : ارتباط سریال

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

                      دیدگاه


                        #12
                        پاسخ : ارتباط سریال

                        سلام

                        من AVR خیلی کار نکردم و با دستورات بیسکام آشنایی چندانی ندارم اما سعی میکنم کمکتون کنم .

                        اما :
                        شما 4 تا میکروتون رو در حالت دریافت قرار بدید و هرکدوم رو منتظر دریافت یک کاراکتر خاص نگه دارید مثلا میکرو شماره ی 1 همواره منتظر دریافت کاراکتر @ بمونه و تا این کاراکتر رو دریافت نکرده کاری انجام نده و به محض دریافت کاراکتر @ اطلاعات بعدی دریافت شده را اعمال کنه و توی فرستنده هم مثلا اگر می خواهیم مقدار 010101 رو به میکرو شماره 1 بفرستیم اینطوری ارسالش میکنیم 010101 @ به این ترتیب میکرو یی که منتظر کاراکتر @ هست مقدار 010101 رو دریافت میکنه و به همین ترتیب تا n امین میکرو را میشه فعال کرد .

                        من چون تعداد میکرو هام زیاد بود بجای استفاده از کاراکتر ها از اعداد 3 رقمی استفاده کردم ولی روش کاراکتر به مراتب توی برنامه نویسیش قابل فهم تر هست .

                        موفق باشید :smile:
                        [left][move][b][color=green][size=11pt]ما می توانیم .
                        ، همین ... *. * * *. * * * [color=re

                        دیدگاه


                          #13
                          پاسخ : ارتباط سریال

                          سلام :biggrin:
                          حالا مثلا من 4 تا سنسور دارم و می خوام اطلاعات این سنسورها مه هر لحظه هم تغییر می کند را بفرستم، حالا برای سنسور یک اگه از کاراکتر @ استفاده کنم .چطور @رو اولش قرار بدم ؟
                          می شه مثلا بگم
                          مقدارسنسور+@


                          ؟؟؟ :question:

                          دیدگاه


                            #14
                            پاسخ : ارتباط سریال

                            نوشته اصلی توسط تیبا
                            سلام :biggrin:
                            حالا مثلا من 4 تا سنسور دارم و می خوام اطلاعات این سنسورها مه هر لحظه هم تغییر می کند را بفرستم، حالا برای سنسور یک اگه از کاراکتر @ استفاده کنم .چطور @رو اولش قرار بدم ؟
                            می شه مثلا بگم
                            مقدارسنسور+@
                            باید یه رشته بسازی دادا که مثلاً بایت اول آدرس میکرو و بایت دوم مقدار سنسور مربوطش باشه. بسکام رو نمیدونم اما با C اینطوری میشه:
                            کد:
                            printf("%d,%d\n",micro_address,sensor);
                            تشکر لازم نیست!

                            دیدگاه


                              #15
                              پاسخ : ارتباط سریال

                              نوشته اصلی توسط تیبا
                              سلام :biggrin:
                              حالا مثلا من 4 تا سنسور دارم و می خوام اطلاعات این سنسورها مه هر لحظه هم تغییر می کند را بفرستم، حالا برای سنسور یک اگه از کاراکتر @ استفاده کنم .چطور @رو اولش قرار بدم ؟
                              می شه مثلا بگم
                              مقدارسنسور+@

                              ؟؟؟ :question:
                              سلام
                              یه چیزی تو همین مایه ها که میگید
                              من تو پیک بیسیک رو توضیح میدم انشاالله که بتونه کمک کنه
                              تو PICBasic دستور Serin وجود داره
                              کد:
                              SERIN portb.0,T2400,["@"],var
                              این خط از برنامه اونقدر منتظر می مونه تا کاراکتر @ رو دریافت کنه بعد از دریافت کاراکتر @ اطلاعات دریافتی بعدی رو توی متغیر Var قرار میده و اونوقت میشه ازشون استفاده کرد
                              کافیه تو قسمت ارسال اینطوری بنویسید

                              کد:
                              ["@"],SEROUT portb.0,T2400
                              کد:
                              [SEROUT portb.0,T2400,[xxxx

                              و بجای xxxxدیتای مورد نظرتون رو ارسال کنید .
                              برای میکرو های بعدی هم به همین صورت میشه عمل کرد .

                              توی بیسکام هم احتمالا باید دستور مشابه این وجود داشته باشه بازم اگر کمکی برمیاد همینجا مطرح کنید

                              موفق باشید :smile:
                              [left][move][b][color=green][size=11pt]ما می توانیم .
                              ، همین ... *. * * *. * * * [color=re

                              دیدگاه

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