اطلاعیه

Collapse
No announcement yet.

کمک در راه اندازی مد باس در بیسکام

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

    کمک در راه اندازی مد باس در بیسکام

    سلام
    من یه پروژه دارم که میخوام در اون نوع ارتباط mod bus باشه و با آی سی rs485 راه بندازمش اگر کسی اطلاعاتی در این مورد داره خواهشا کمک کنه :redface:
    کامپایلر من بیسکامه
    واسه کدویژن یه چیزایی پیدا کردم ولی چیزی متوجه نشدم :angry:

    از نحوه کد دادن به اسلیوها تا فرستادن متیغرها
    البته من این کار رو به طور خیلی ابتدایی انجام دادم با 0 و 1 کردن پایه re و de ایسی 485
    ولی وقتی برنامم یه خط جا به جا میشد دیگه دریافت نداشتم

    منتظر یاری سبزتان هستیم :biggrin:
    با مردم همون جوری رفتار کن که دوست داری باهات رفتار کنن




    #2
    پاسخ : کمک در راه اندازی مد باس در بیسکام

    آقا حالا این مشکلاتو که گفتم رو ولش کن
    همون برنامه ساده ای ام که نوشتم وقفه سریالش فقط یه بار کار میکنه
    یعنی دفعه اول دریافت درست انجام میشه ولی در دفعات بعد دریافتی ندارم و انگار که وقفه سریال کار نمیکنه
    با مردم همون جوری رفتار کن که دوست داری باهات رفتار کنن



    دیدگاه


      #3
      پاسخ : کمک در راه اندازی مد باس در بیسکام

      RS485 در حقیقت یک فرستنده وگیرنده ایزولست لازم نیست شما پروتوکل RS232 یا RS485 بدونید
      برای شروی کار SN65176B, SN75176B
      DIFFERENTIAL BUS TRANSCEIVERS
      را جستجو کنید مشابه MAX485 است هردو در بازار موجودند
      پایه های 6 و 7 را در دو ای سی به هم وصل کنید اینها خطوط انتقالی هستند
      پایه های 2 و 3 وضعیت گیرنده بودن یا فرستنده بودن را تعریف میکنند
      پایه 1 گیرنده و پایه 4 فرستنده اطلاعاته
      حالا اگر یک طرف در حالت گیرنده باشه طرف دوم باید در حالت فرستنده باشه
      یعنی با این قطعه نمیشه در ان واحد هم فرستاد هم دریافت کرد (فرق پروتوکلی )
      حالا مشگل شما کجاست

      بعدا یه جمله قشنگ مینویسم

      دیدگاه


        #4
        پاسخ : کمک در راه اندازی مد باس در بیسکام

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



        دیدگاه


          #5
          پاسخ : کمک در راه اندازی مد باس در بیسکام

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

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

          دیدگاه


            #6
            پاسخ : کمک در راه اندازی مد باس در بیسکام

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



            دیدگاه


              #7
              پاسخ : کمک در راه اندازی مد باس در بیسکام

              :angry: چرااین وقفه سریال فقط یه بار کار میکنه :angry: :angry: :angry:
              با مردم همون جوری رفتار کن که دوست داری باهات رفتار کنن



              دیدگاه


                #8
                پاسخ : کمک در راه اندازی مد باس در بیسکام

                چون برنامه شما یک بار اجرا میشه که توی اون یه بار دریافت می کنه از دستور var=waitkey هم می تونید استفاده کنید این دستور منتظر می مونه که دریافت کاراکتر تمام بشه بعد توی متغیر var میریزد

                جهت فعال کردن وقفه uart0 از دستور enable urxc استفاده میشود

                برای تعریف برچسب اینتراپت on urxc labelo
                labelo نام برچسب پرش است

                برای خواندن محتوای بافر از دستور var=udr استفاده می شود
                var متغیری از نوع byte باید باشد


                مثال :
                dim x as byte
                enable interrupss
                enable urxc
                on urxc a
                do
                loop
                a:
                x=udr
                return

                موفق باشید

                دیدگاه

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