اطلاعیه

Collapse
No announcement yet.

ارتباط دو میکرو با RS485

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

    ارتباط دو میکرو با RS485

    سلام دوستام من برای برقراری ارتباط دو میکرو با هم از آی سی RS487 استفاده کردم در حین اجرای برنامه master اطلاعات را می فرستد و سپس slave دریافت کرده و پاسخ میدهد اما در سمت master پاسخ slave رادریافت نمی کنم لینک مدارم را در زیر گذاشتم دوستان ببینند نظر خودشان را لطفا بدهند.
    http://wdl.persiangig.com/pages/download/?dl=http://hassanusefi.persiangig.com/RS485.rar

    #2
    پاسخ : ارتباط دو میکرو با RS485
    [list type=decimal]
    [li]سلام برای ارسال از دستور زیر استفاده کنید :
    [/li][/list]
    کد:
    485_en_1 = 1
    
          Waitms 20
    
          Printbin a
    
          Waitms 20
    
          485_en_1 = 0
    
          Waitms 10

    دقت کنید که پایه en_1 پایه ای از میکرو هست که باید به پایه آی سی max485 وصل بشه و در طرف گیرنده از وقفه دریافت استفاده میکنیم
    کد:
    '*******************************************************************************
    '******************************* serial_receive ********************************
    '*******************************************************************************
    
    
    Serial_receive:
    
    
    
    Uart = Udr                         'reading uart data register (udr)
    
    If Flag = 0 Then
    
      If Uart = Udr_start1 Then                'finding the first byte of frame
    
       Flag = 1
    
       Count = 1
    
      End If
    
    Else
    
      Serial_data(count) = Uart
    
      If Count = 1 Then                    'counting 3 byte after detecting first byte
    
       Device_ip = Serial_data(1)
    
        
    
       Flag = 0
    
       Count = 0
    
       '************************************************************************* 
    
      End If
    
    Incr Count
    
    End If
    
    
    Return

    دیدگاه


      #3
      پاسخ : ارتباط دو میکرو با RS485

      سلام جناب MAJID-BN ممنون از وقتی که گذاشتید، امّا اگر شما برنامه ی من را دیده باشید بتده در مورد ارسال دیتا مشکلی ندارم حتی زمانی که SLAVE دیتای MASTER را دریافت می کند به آن پاسخ میدهد امّا در زمان دریافت پاسخ SLAVE به درخواست MASTER به مشکل برخوردم اگر شما فایل پروتئوس همراه برنامه را اجرا کنید در زمانی که کلید سمت MASTER را بفشارید PORTB.0 و PORTB.1 به ترتیب به نشانه ی دریافت داده از سمت MASTER و ارسال پاسخ به MASTER از طرف SLAVE در هر بار فشار دادن کلید روشن و خاموش می شوند اما PORTB.1 در سمت MASTER که نشان دهنده ی دریافت داده ی SLAVE است در میکرو MASTER فرمانی دریافت نمی کند به طور خلاصه با هر با فشردن کلید باید PORTB.0 و PORTB.1 در میکروی SLAVE روشن و سپس خاموش (TOGGLE ) و در سمت MASTER نیز در زمان دریافت PORTB.1روشن شود. که اولی به درستی اجرا می شود ولی دومی نه؟!

      دیدگاه

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