![]() |
|
Tài trợ cho PIC Vietnam |
Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#11 |
Đệ tử 1 túi
Tham gia ngày: Apr 2007
Bài gửi: 11
: |
![]() Anh Falleaf có viết:
Code:
Các bạn lưu ý rằng, F nói trường hợp nâng cao, thì chúng ta hoàn toàn có quyền sử dụng mạng Multi Master. Khi bạn setup chip ở chế độ Slave, thì nó thụ động. Nhưng hãy thử nghĩ, tôi làm slave cho mạng này, và làm master của một mạng khác, vậy thì có được không? Vì tôi có tới 40 chân chứ không phải 2 chân. Vậy nếu tôi làm master cho một mạng khác, mà trong đó slave của tôi lại là master của cái mạng mà tôi làm slave . Hoàn toàn được. Nhưng vấn đề nâng cao ở chỗ nữa, nếu làm như vậy, tôi phải tốn 4 dây để làm 2 mạng. Vấn đề trước đây hình như F đặt ra cho Linh, nhưng Linh chưa giải quyết xong, đó là Multi Master trong một mạng dùng 2 dây thôi. Vấn đề này F tiếp tục treo ở đây chờ người giải quyết. Em nghĩ như thế này được không anh? Giả sử trên mạng có 2 con Master 1 và 2 , tại 1 thời điểm chỉ có 1 con là Mater , con còn lại là Slave . Em lấy chân A0 đọc tín hiệu kích về , khi nào nó là 0 thì Master1 là master , khi nào A0=1 thì Master 2 là master. Rồi em thay đoạn code viết trong CCS của 2 con master như sau: Giả sử mặc định ban đầu A0=0 , tức Master1 là master: Code:
cho Master1 #use i2c(master, sda=PIN_C4, scl=PIN_C3, force_hw) .............. void main() { set_tris_a(0x01); // A0 là chân nhập Do { if (input(pin_A0)) { #use i2c(SLAVE, SDA=PIN_C4, SCL=PIN_C3, address=0x10, force_hw) // cho master 1 là Slave , nhưng phần này em nghĩ là chỉ đặt đầu //chương trình không thể đưa ra dây.Nên ở đây em định chèn đoạn // code assembly để kích thanh ghi như sau: #asm em đưa đoạn code assembly để kích thanh ghi SSPSTAT,SSPCON1 và SSPCON2 để đưa master 1 về slave? #endasm } else { // em đưa đoạn code assembly để đưa Master 1 thành master } ............ }While (1) } Em đọc datasheet của Pic 16f877A trang 105 có nói về multi master , nhưng em chưa hiể rõ lắm, mong anh chủ giúp |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|