Thông báo

Collapse
No announcement yet.

8051 - Master/Slave - chuẩn RS485

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #16
    Cần có 1 địa chỉ để gửi đồng loạt cho các slave
    Hì hì !!!

    Comment


    • #17
      Nguyên văn bởi vutricongbka
      Master không cần địa chỉ
      Bạn không có byte khởi đầu và byte kết thúc như thế có nghĩa là bạn hoàn toàn có thể đọc nhầm một bản tin đểu.(cứ 2 byte được coi là một bản tin mà)
      Hổng cần đâu, dùng timer out giải quyết

      Comment


      • #18
        sao mình không thấy sơ đồ, code. có thể post lai cho mình dc ko. Mình bây giờ cũng đang làm đề tài này. hoặc bạn gửi sơ đồ mạch và code cho mình vào mail true_lie11@yahoo.com. Mình cám ơn nhé

        Comment


        • #19
          sao mình không thấy mạch j` nhỉ. Các bạn post lại cho mình được không vậy

          Comment


          • #20
            bạn VuTriCongbka có code ví dụ nào cụ thể không z. nếu được bạn có thể gửi vào mail mình dc hok z. nguyenquocduy2011@gmail.com .đây là mail mình . hy vọng bạn giúb lần này

            Comment


            • #21
              Nguyên văn bởi PPIICC Xem bài viết
              Bước 1: bạn phải tìm hiểu và lập trình tốt chuẩn RS232 đã, khi đã nắm được rồi thì mọi việc trở nên vô cùng đơn giản, bạn đã thành công tới 80%.
              Bước 2: sau khi hoàn tất phần cứng(sơ đồ bác BA cung cấp cho bác), thì còn gì nữa đâu nhỉ, bạn đã thành công thêm 10% nữa rồi, còn 10% còn lại.
              Bước 3: Phần mềm hoàn toàn bạn quy định. Một cách phổ biến nhất thì làm như sau:
              Gọi địa chỉ của Master là MT, địa chỉ của Slaver lần lượt là SL1 và SL2. Và một quy định chung được đặt ra: trong thời gian truyền thì bật chân đk hướng lên 1, truyền xong thì gán = 0. Cụ thể:
              Hướng = 1;(chuẩn bị nói lên bus)
              Truyền dữ liệu;
              Chờ truyền xong toàn bộ dữ liệu;
              Hướng = 0;(nghe trên bus).
              Và như thế đương nhiên thì thời gian nói chiếm đại đa số.
              Cái này là bắt buộc và ko nói lại ở sau để cho cô đọng. Thực hiện như sau:
              Master: Truyền: SL1(byte1)+Lệnh(byte2).
              Tất cả SL đều nhận được, và tất cả chúng đều xử lý và nó so sánh byte đầu tiên với mã của nó, thì SL1 thấy đúng là mã của mình nên nó sẽ biết đây là MT yêu cầu mình làm điều gì đó, cho nên SL1 sẽ gửi trả lời:
              SL1: Truyền: SL1(byte1)+data(byte2, byte3...).
              Và tất cả các uC đều nhận được, nhưng chỉ MT lấy dữ liệu và xư lý vì nó biết dư liệu là của SL1 gửi về. Tiếp theo
              Master: Truyền: SL2(byte1)+Lệnh(byte2).
              Tất cả SL đều nhận được, và tất cả chúng đều xử lý và nó so sánh byte đầu tiên với mã của nó, thì SL2 thấy đúng là mã của mình nên nó sẽ biết đây là MT yêu cầu mình làm điều gì đó, cho nên SL2 sẽ gửi trả lời...
              và cứ lăp đi lặp lại:
              MT--->Sl1
              SL1--->MT
              MT---->SL2
              SL2---->MT
              MT--->Sl1
              SL1--->MT
              .....
              đây là cơ chế hỏi vòng
              bạn giải thích quá hay
              thanks
              | | |

              Comment


              • #22
                co mach voi code ko? up lên đi cho mình tham khảo với mình cũng đang làm đồ án về vấn đề này

                Comment

                Về tác giả

                Collapse

                hieutq Tìm hiểu thêm về hieutq

                Bài viết mới nhất

                Collapse

                Đang tải...
                X