Việc giao tiếp giữa các VDK với nhau thông qua I2C hay bất kỳ giao tiếp nào là vấn đề hay. Về I2C tôi đã làm xong rồi, lấy đơn giản giưa 2 con PIC 88 và 877, 877 là master. Tôi cho truyền một chuỗi ký tự sang 88, 88 nhận được và phản hồi lại. 877 sẽ hiển thị trên LCD. Quan trọng nhất tron giao tiếp này là việc xử lý dữ liệu ở con Slave. Khi nó nhận được yêu cầu đọc từ master thì cần truyền byte ra. Khi dùng CCS ta sử dụng ngắt #INT_SSP
Nguyên văn bởi tuanva:
Ý tôi là thế này: Tôi có 1 PIC kết nối I2C với DAC và 1 PIC khác nối I2C với EEPROM, RTC. Bây giờ nối 2 PIC với nhau như thế nào?
Đơn giản là bạn nối chúng với đường I2C, gán cho một địa chỉ. Như vậy cả hai đều dùng được tại nguyên của nhau.
Ngắt SSP
#INT_SSP
I2C_ISR {
byte data_in
if (i2c_state_isr < 0x80)
i2c_write(data_to_send_to_master)
else
data_in = i2c_read()
}
// Đây chỉ là ví dụ đơn giản cho Slave.
|