PIC Vietnam

Go Back   PIC Vietnam > Truyền thông > Giao tiếp USB, CAN, I2C, SPI, USART...

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 22-03-2008, 12:07 PM   #1
nhh
Đệ tử 9 túi
 
nhh's Avatar
 
Tham gia ngày: Feb 2006
Bài gửi: 174
:
Send a message via Yahoo to nhh
- i2c_read(); đọc 1 byte từ bus i2c và tạo xung ACK
- i2c_read(0); đọc 1 byte từ bus i2c và tạo xung NACK, dùng trước khi i2c_stop(); kết thúc đọc dữ liệu.

Muốn ghi nhiều byte liên tiếp tới SLAVE: Sau khi gửi địa chỉ, gửi liên tiếp các byte cần ghi, muốn ngừng dùng i2c_stop();

Bạn tham khảo tutorial ở trang 1 của anh F gửi, xem format ghi nhận dữ liệu.

Bạn có thể gửi code lên.
__________________
Ngày mai bắt đầu từ ngày hôm nay

Bạn có thắc mắc, bạn cần sự hỗ trợ của các thành viên. Hãy đọc luồng này:
http://www.picvietnam.com/forum//showthread.php?t=1263
nhh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-04-2008, 03:54 PM   #2
quoc_nguyen
Nhập môn đệ tử
 
Tham gia ngày: Jan 2008
Bài gửi: 4
:
master - multi slave

Bạn nào đã làm giao tiếp i2c chế độ một master nhiều slave cho mình hỏi tí.
Mình dùng Css C, sử dụng 3 con pic 16f877a trong đó 1 master và 2 slave có một bàn phím ở master để điều khiển lấy dữ liệu từ slave. không hiểu sao chỉ chạy đúng được một trong 2 con, sau đó luôn gửi về giá trị 255.
quoc_nguyen vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 22-04-2008, 06:24 PM   #3
tam_pascal
Nhập môn đệ tử
 
Tham gia ngày: Sep 2007
Bài gửi: 8
:
Trích:
Nguyên văn bởi quoc_nguyen View Post
Bạn nào đã làm giao tiếp i2c chế độ một master nhiều slave cho mình hỏi tí.
Mình dùng Css C, sử dụng 3 con pic 16f877a trong đó 1 master và 2 slave có một bàn phím ở master để điều khiển lấy dữ liệu từ slave. không hiểu sao chỉ chạy đúng được một trong 2 con, sau đó luôn gửi về giá trị 255.
- Mình dùng thêm một dây nữa nối từ M-S, dây này do S điều khiển = 0 báo cho M biết là S muốn truyền dữ liệu đến M, khi S truyền xong thì cho dây này =1. Còn M cứ thấy dây này =0 là hỏi S và nhận data về. Chứ kết nối hai dây thì M cứ phải hỏi liên tục( mỏi miệng)..hihi. chúc vui
- Tiện thể cho mình hỏi một chút: mình dùng Master =18f4550 và slave=16f877a địa chỉ 0x10 thì tốt, khi chuyển sang dùng 2 con đều là 18f4550 khi lại không đc, (vẫn địa chỉ 0x10) Hay ở 18f4550 con slave phải có địa chỉ khác nhỉ. Ai biết chỉ giúp mình với....xin cảm ơn trước.

thay đổi nội dung bởi: tam_pascal, 22-04-2008 lúc 06:46 PM.
tam_pascal vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 06:18 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam