Help! Giao tiếp I2C giữa 2 PIC
1 Attachment(s)
Mình làm 1 cái giao tiếp i2c đơn giản dùng PICC !
Nhưng chả hỉu sao không chạy được nữa! mình thử debug bằng MPLAB IDE thì khi đến dòng lệnh i2c_start thì không tiếp được nữa! Các bạn có thể giúp mình một chút được không? Chương trình chỉ đơn giản là Master(U2) gọi Slave dậy ( đang sleep), Slave tăng 1biến rồi gửi cho Master hiển thị ra PORTD. Mình gửi code và hình kèm theo! Code:
//================================================================== Code:
//================================================================== |
Mô phật ! Bác viết như thế ko hiểu là I2C chỗ nào nữa.
- Thứ nhất, bác phải tìm hiểu sơ sơ qua chuẩn truyền I2C cái đã. - Bác chưa khai báo địa chỉ cho slave, tham khảo help của trình dịch - Bác muốn truyền nhận I2C mà lại khai báo cho ngắt ngoài :cool: - Tham khảo thêm ở luồng này http://www.picvietnam.com/forum//showthread.php?t=611 |
Hì, cảm ơn bác! Đúng là tôi quên khai báo add cho Slave!
Nhưng tui đã thử khai báo add cho Slave như trên (tôi sửa lại code) nhưng vẫn không được! Còn cái ngắt ngòai, là tôi muốn dùng nó để reset con Slave đang sleep ( ý là thế không bít có đúng không nữa )! Cảm phiền bác nào hảo tâm sửa giúp cho tôi với! Thiệt tình là cũng có viết i2c rồi nhưng ngày xưa viết trên ASM, giờ viết trên C nhìn hoài không bít nó sai chỗ nào nữa! |
em cũng phải làm giao tiếp giữa 2 con PIC 16F877A theo cơ chế Điều khiển luồng . bac Chip co hiểu vấn đề này ko ? bác giúp em chút dc hok( em la dân NOOd trong PIC )
|
sao bác không đọc wa luồng náy nhi
http://www.picvietnam.com/forum/forumdisplay.php?f=45 |
hình như cái địa chỉ 0xA0 tương ứng với 10100000 tức là master đọc dữ liệu về từ slaver chứ nhỉ ??? mà địa chỉ 0xA0 = 160 , mà tối đa chỉ giao tiếp được với 127 thiết bị thôi (7 bit địa chỉ mà)
|
Múi giờ GMT. Hiện tại là 04:23 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam