Vấn đề khó khăn ở chỗ, hai con PIC hoạt động độc lập với nhau, nó không thể nào biết con nào hiện đang làm master hay slave. Vấn đề xảy ra khi hai con đều "cho rằng mình là master" và gửi một thông tin lên cùng một mạng. Vậy thì sẽ có sự tranh chấp. Lưu ý mạng I2C là mạng 2 dây, khi gửi lên như vậy mọi con đều nhận được và đều sử lý. Hơn nữa, nên nhớ là xung clock của master để giữ nhịp cho toàn bộ mạng, thế thì nếu 2 con cùng lúc tạo ra xung nhịp thì sẽ thế nào? Giá sử như hai con tạo ra xung nhịp khác nhau?
Những vấn đề này xử lý khá loằng ngoằng, nhưng nó được miêu tả rõ trong application note của Microchip, cái này thì F quên mất là AN số bao nhiêu, các bạn tự tìm lại.
Tuy nhiên, lúc F giao cho Linh làm cái bài này, thì vì Linh sử dụng CCS C, cho nên gặp một số khó khăn vì chưa quen sử dụng. Vậy bạn nào có thể làm lại cái AN của Microchip chăng và phân tích rõ vấn đề hơn.
Chúc vui.
|