Trích:
Nguyên văn bởi rien
Chào các bạn,
Mình có đọc các bài viết về I2c Trên diễn đàn nhưng đa số chỉ truyền nhận 1 byte, hoặc truyền nhiều byte nhưng phải start và stop nhiều lần. Sau khi mày mò, mình đã truyền được nhiều byte. ...
|
Giao thức I2C hỗ trợ truyền nhiều byte dữ liệu liên tiếp nếu không đổi chiều dữ liệu. Ngay cả khi có đổi chiều truyền dữ liệu, bạn cũng chỉ cần dùng điều kiện RESTART. Những thông tin về giao tiếp I2C đã được tôi trình bày cách đây khá lâu tại:
http://namqn.byethost7.com/Commu.php (chú ý là tôi đã ghi rõ master đọc/ghi
các byte dữ liệu giữa hai điều kiện START và STOP, khi trình bày về trình tự thực hiện các thao tác đọc/ghi dữ liệu).
Ở picvietnam, tôi chỉ có các tutorial cho dsPIC, nhưng tutorial 4 về giao tiếp UART và I2C cho dsPIC (link ở đây:
http://www.picvietnam.com/forum/showthread.php?t=623) cũng đã minh họa việc ghi liên tiếp 8 byte dữ liệu ra vi mạch thời gian thực DS1307 thông qua giao tiếp I2C. Rất tiếc đến giờ bạn mới tự mày mò ra được.
Thân,