اطلاعیه

Collapse
No announcement yet.

بررسی ارتباط سریال بطور کامل

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

    #16
    پاسخ : بررسی ارتباط سریال بطور کامل

    سلام
    آره دقیقا

    دیدگاه


      #17
      پاسخ : بررسی ارتباط سریال بطور کامل

      سلام
      اقا من یه مدت مسافرت بودم
      خوب من کل مطالب قبل رو به صورت یه فایل PDF در آوردم تا یه جا حمع باشه دوستان اگه ایرادی داشت نظر بدن در خدمتیم
      اینم لینک دانلودش
      http://persiandrive.net/856440

      دیدگاه


        #18
        پاسخ : بررسی ارتباط سریال بطور کامل

        آی سی SN75179 نیز برای ارتباط RS422 است

        اما یک سوال:

        این آیسی هایی که برای RS422 هستن چه تفاوتی با هم دارن و کدوم تو ایران یافت میشن . چرا یک کمپانی دو نوع آیسی داده

        منظورم همین SN75179 و MAX488 و MAX3488 و هر آیسی دیگه ای که شما بلدین و من نه

        اگه بخوام حدود 30 تا از اینا رو برای کاری بخرم کدوم بهتره؟؟؟

        لطفا راهنمایی کنید.؟؟

        دیدگاه


          #19
          پاسخ : بررسی ارتباط سریال بطور کامل

          بعضی از این آیسی ها اصطلاحا LOW POWER هستن و با 3.3 ولت کار میکنن ولی من همون 5 ولتی رو میخوام

          اگه دوستان کمکی برسونن تا بتونم یه آیسی رو انتخاب کنم ممنون میشم

          چون میخوام همین امروز سفارش بدم بیارن

          با تشکر

          دیدگاه


            #20
            پاسخ : بررسی ارتباط سریال بطور کامل

            سلام
            مطالب خیلی خوبی بود
            اگه میشه درباره rs485 بیشتر توضیح بدین من میخوام یک plc رو به میکرو وصل کنم لطفا راهنمایی کنید

            دیدگاه


              #21
              پاسخ : بررسی ارتباط سریال بطور کامل

              با سلام خدمت دوستان

              به یه مشکل برخوردم نمیدونم چطور برطرفش کنم

              من یه برنامه برای ارتباط دو میکرو با RS422 نوشتم و در پروتئوس از SN75179 استفاده کردم و سیموله کردم. RS422 جواب داد و مشکلی نبود

              اما در این ارتباط سریال، Master برای Slave کدش رو ارسال میکنه و اگه Slave با چنین کدی وجود داشت پیام تصدیق رو ارسال میکنه

              اما سناریو:

              - Slave باید در وقفه دریافت Usart به Master پاسخ بده. چون قراره در حالت عادی به کارهای دیگه ای بپردازه و فقط زمانی که Master چیزی ارسال کرد بره سراغ وقفه و کارای دیگه رو متوقف کنه

              - پروتکل رو طوری تعریف کردم که پس از آنکه وقفه Usart فعال شد و رفت به روتین وقفه، حالا وقفه دریافت رو موقتا غیر فعال کنه و به Master جواب بده و آنگاه منتظر دریافت کد دستور باشه و ببینه که مستر چه چیزی میفرسته و بره دستورات رو انجام بده و وقتی Master بایتی با نام Stop_Byte رو که براشون تعریف کردم دریافت کرد ارتباط را تمام کنه و وقفه دریافت Usart رو فعال کنه

              - اما مشکل اینجاست که وقتی وقفه فعال شد و کد رو خواندم و وقفه دریافت رو موقتا غیر فعال کردم
              ابتدا هر چی که Master میفرسته رو Slave به خوبی دریافت میکنه و میتونم به زیر برنامه ها برم
              سپس اگه Slave هم چیزی بفرسته Master دریافت میکنه
              اما از این پس هرچه Master برای Slave میفرسته دریافت نمیشه

              برنامه ساده ای از این مشکل رو ببینید:

              Master :


              b = 2;
              putchar(b);
              b = 3;
              putchar(b);
              b = 4;
              putchar(b);
              b = 5;
              putchar(b);
              lcd_putsf("OK1"
              b = getchar();
              if (b == Acknowledge)
              {
              b = getchar();
              if (b == 0b00000010)
              {
              lcd_gotoxy(0,0);
              lcd_putsf("OK2"
              }
              }
              b = 6;
              putchar(b);
              lcd_putsf("OK3"

              }
              Master هر آنچه که ابتدای ارتباط Usart ارسال میکند Slave دریافت میکند
              تا آنجا که Slave جواب تصدیق میدهد و پس از آن هم هر آنچه Slave بفرستد Master دریافت میکند
              اما زمانی که Master مجددا چیزی ارسال میکند دیگر دریافت نمیشود(خطوط قرمز رنگ)

              این هم برنامه Slave:

              در روتین وقفه دریافت Usart تابع test فراخوانده میشود

              void test(void)
              {
              #asm("sei&quot
              lcd_init(20);
              a = getchar(); // Reading a Byte from Bufer of Reciving USART
              code = PINA; // 5 bits in LSB of this Port is the code of Slave
              code &= 0b00011111;
              if (a == code)
              {
              lcd_putsf("OK1"
              delay_ms(100);
              }

              UCSRB=0x18;
              a = getchar();
              if (a == 3)
              {
              lcd_putsf("OK3"
              delay_ms(100);
              }
              a = getchar();
              if (a == 4)
              {
              lcd_putsf("OK4"
              delay_ms(100);
              }
              a = getchar();
              if (a == 5)
              {
              lcd_putsf("OK5"
              delay_ms(100);
              }

              putchar(Acknowledge);
              putchar(code);


              a = getchar();
              if (a == 6)
              {
              lcd_putsf("OK6"
              delay_ms(100);
              }

              }

              ابتدا بایتی از Master خوانده میشود و درصورتی که با کد قرار گرفته بر روی پورتی ار میکرو برابر بود پیامی رو LCD مینویسد

              حال وقفه دریافت Usart غیر فعال میشود

              چندین کد دیگر هم که برای امتحان عملکرد برنامه قرار دادم را دریافت میکند (3و4و5)

              برای Master پیام تصدیق و کد را ارسال میکند

              حال که Master پیام دیگری را ارسال میکند دیگر کدی دریافت نمیشود(6)

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

              به نظر شما کجا اشتباه کردم؟؟؟

              دیدگاه


                #22
                پاسخ : بررسی ارتباط سریال بطور کامل

                این هم لینک فایل پروتئوس و Master و Slave در کدویژن

                http://rapidshare.com/files/276677527/Test_Usart.rar.html

                به نظر شما مشکل از کجاست؟؟؟

                قاعدتا نباید این مشکل باشه

                دیدگاه


                  #23
                  پاسخ : بررسی ارتباط سریال بطور کامل

                  سلام، ببخشید این لینک فایل پروتئوس و Master و Slave در کدویژن که گذاشتید اگه یه نگاهی کنید مشکل داره

                  http://rapidshare.com/files/276677527/Test_Usart.rar.htm
                  مشکل داره میشه دوباره اپلودش کنید.
                  ممنون :bye

                  دیدگاه


                    #24
                    پاسخ : بررسی ارتباط سریال بطور کامل

                    سلام اقی بز افشان گل ...
                    اول یه خسته نباشید :applause:
                    دوم این لینکی که زحمت کشیدین گذاشتین پاک شده میشه دوباره up کنید
                    با سپاس
                    ذکات علم یاد دادنه ....

                    دیدگاه


                      #25
                      پاسخ : بررسی ارتباط سریال بطور کامل

                      سلام من تازه واردم بی زحمت می خواستم منو در مورد ارتباط 2 تا میکرو با هم توسط مدو لاتور ask یاfsk راهنمایی کنید

                      دیدگاه


                        #26
                        پاسخ : بررسی ارتباط سریال بطور کامل

                        سلام
                        تقریباً که نه دقیقاً تمام لینک های رپیدشیر پاک شده بود
                        لطفاً دوباره آدرس بدین

                        دیدگاه


                          #27
                          پاسخ : بررسی ارتباط سریال بطور کامل

                          خسته نباشید
                          خب چی شد ادامه ی بحث؟
                          قرار بود نحوه ارتباط میکرو با pc و مداراتش رو توضیح بدین :sad:

                          دیدگاه


                            #28
                            پاسخ : بررسی ارتباط سریال بطور کامل

                            آقای بزرافشان خیلی ممنونم از مطالبی که تا حالا تو این پست گذاشتین
                            خواهشا اگه امکانش هست ادامه بدین

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

                            دیدگاه

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