اطلاعیه

Collapse
No announcement yet.

مشکل در ارتباط دو میکرو با rs-485 در bascom

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

    مشکل در ارتباط دو میکرو با rs-485 در bascom

    با سلام
    مشکل اینجاست که master پاسخ رو درست نمی گیره ممنون می شم نظر بدید.برنامه master و slave رو میزارم.

    '******************************** master *************************************
    '
    '******************************************** ***********************************
    $regfile = "m64def.dat"
    $crystal = 1000000
    $baud = 1200
    $hwstack = 42
    $swstack = 40
    $framesize = 40
    '----------------------------------LCD CONFIURATION-----------------------------

    Config Graphlcd = 240 * 128 , Dataport = Portc , Controlport = Porta , Ce = 2 , Cd = 3 , Wr = 0 , Rd = 1 , Reset = 4 , Fs = 5 , Mode = 8
    '----------------------------------RS-485 CONFIG--------------------------------

    Config Print0 = Porte.2 , Mode = Set
    Rs485dir Alias Porte.2
    Config Rs485dir = Output
    Rs485dir = 1
    '------------------------------DIMENTIONE THE PARAMETERS------------------------

    Dim M As String * 8
    Dim B As Byte
    M = "MESAGE"
    '--------------------------------------MAIN-------------------------------------
    Cls
    Cursor Off

    Locate 1 , 1
    Lcd "RS-485 Test"

    Locate 2 , 1
    Lcd M ; " "
    Print M
    Waitms 500

    Input B
    Waitms 50
    Locate 4 , 1
    Lcd B
    Rs485dir = 1

    Locate 6 , 1
    Lcd "OK"

    End

    '******************************** slave *************************************
    '
    '******************************************** ***********************************
    $regfile = "m32def.dat"
    $crystal = 1000000
    $baud = 1200
    $hwstack = 42
    $swstack = 40
    $framesize = 40
    '----------------------------------LCD CONFIURATION-----------------------------

    Config Lcdpin = Pin , Rs = Portc.1 , E = Portc.2 , Db4 = Portc.3 , Db5 = Portc.4 , Db6 = Portc.5 , Db7 = Postc.6
    Config Lcd = 20 * 2
    '----------------------------------RS-485 CONFIG--------------------------------

    Config Print0 = Portd.2 , Mode = Set
    Rs485dir Alias Portd.2
    Config Rs485dir = Output
    Rs485dir = 0
    '------------------------------DIMENTIONE THE PARAMETERS------------------------

    Dim A As String * 8
    Dim B As Byte
    B = 56
    '--------------------------------------MAIN-------------------------------------
    Cursor Off
    Cls

    Locate 1 , 1
    Lcd "RS-485 Test"
    Locate 1 , 15
    Lcd B

    Input A
    Waitms 50
    Locate 2 , 1
    Lcd A ; " "

    Rs485dir = 1
    Waitms 500
    Print B

    Locate 2 , 10
    Lcd "OK"

    End

    #2
    پاسخ : مشکل در ارتباط دو میکرو با rs-485 در bascom

    دوست عزیز از کریستال خارجی 11059200 استفاده کن احتمالا مشکلت حل میشه

    دیدگاه


      #3
      پاسخ : مشکل در ارتباط دو میکرو با rs-485 در bascom

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

      دیدگاه


        #4
        پاسخ : مشکل در ارتباط دو میکرو با rs-485 در bascom

        این هم لینک فایلهاش:
        http://aian6211.persiangig.com/rs-485/RS-485.DSN
        http://aian6211.persiangig.com/rs-485/master1.bas
        http://aian6211.persiangig.com/rs-485/slave.bas

        دیدگاه


          #5
          پاسخ : مشکل در ارتباط دو میکرو با rs-485 در bascom

          کسی نیست که بدونه مشکل کجاست ؟

          دیدگاه


            #6
            پاسخ : مشکل در ارتباط دو میکرو با rs-485 در bascom

            دوست عزیز بهتر است که به جای استفاده از print و input در بدنه تابع main از وقفه پورت سریال استفاده کنید یه سر به این تاپیک بزنید بد نیست
            http://www.eca.ir/forum2/index.php?topic=77696.0

            دیدگاه


              #7
              پاسخ : مشکل در ارتباط دو میکرو با rs-485 در bascom

              سعید جان ممنون که وقت میزاری ،میبینم.

              دیدگاه


                #8
                پاسخ : مشکل در ارتباط دو میکرو با rs-485 در bascom

                دیدم ، فردا روش کار می کنم و نتیجه رو می :smile:گم.بازم تشکر می کنم.

                دیدگاه


                  #9
                  پاسخ : مشکل در ارتباط دو میکرو با rs-485 در bascom

                  برنامه اسلیو رو با اینتراپت هم نوشتم نتیجه دقیقا همان بود.

                  دیدگاه


                    #10
                    پاسخ : مشکل در ارتباط دو میکرو با rs-485 در bascom

                    یعنی کسی نیست rs-485 با bascom نوشته باشه؟

                    دیدگاه


                      #11
                      پاسخ : مشکل در ارتباط دو میکرو با rs-485 در bascom

                      Config Print0 = Porte.2 , Mode = Set
                      این دستور بعد از هر ارسال و دریافت جهت پین و عوض میکنه پس یا جهت پین rs485 و دستی عوض کن و یا از این دستور استفاده کن

                      دیدگاه


                        #12
                        پاسخ : مشکل در ارتباط دو میکرو با rs-485 در bascom

                        سعید جان این متن basco help :
                        When you use RS-485 half duplex communication you need a pin for the direction of the data. The CONFIG PRINT automates the manual setting/resetting. It will either SET or RESET the logic level of the specified pin before data is printed with the BASCOM print routines. After the data is sent, it will inverse the pin so it goes into receive mode.

                        You need to set the direction of the used pin to output mode yourself.

                        اگه برنامه رو ببینید من بعد از هر ارسال در صورت نیاز به ارسال بعدی بصورت دستی با دستور Rs485dir = 1 این کارو کردم . واقعا گیجم کرده !ممنونم که جواب میدی.

                        دیدگاه


                          #13
                          پاسخ : مشکل در ارتباط دو میکرو با rs-485 در bascom

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

                          دیدگاه

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