View Single Post
Old 29-07-2009, 05:51 PM   #8
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi trangham283 View Post
Em cảm ơn anh Nam, ý anh là đoạn này ạ? Em có đọc qua tutorial này rồi, nhưng em vẫn không hiểu lắm :"> Anh có thể làm ơn giải thích thêm cho em về thao tác truyền dữ liệu sang slave được không ạ?

Có nghĩa là nếu em config giao tiếp 8-bit, sau khi SPIxSR nhận 8 bit, 8 bit này sẽ được chép vào SPIxRXB rồi sẽ cần được đọc ra để tránh tràn và mất dũ liệu?

Em xin lỗi nếu em lại đọc sót phần quan trọng :P, nhưng em vẫn không hiểu thao tác truyền dữ liệu. Đoạn trên là nhân dữ liệu từ slave, vậy nếu em muốn gửi dữ liệu, em cần viết vào SPIxBUF, thì vẫn là viết 16 bit phải không ạ? Hay là em phải dùng lệnh mov.b? (Em đang tập viết bằng hợp ngữ)

Em cảm ơn anh nhiều ạ.
Ngay dưới đoạn mà bạn vừa đưa lên là thông tin chọn cấu hình, nếu đặt bit MODE16 = 0 thì bạn sẽ dùng chế độ truyền thông 8-bit. Trong chế độ này, chỉ có 8 bit được dịch ra chân SDO, và 8 bit được dịch vào chân SDI.

Bạn ghi bao nhiêu bit vào SPIxBUF thì cũng chỉ có 8 bit thấp nhất được gửi sang slave khi chọn MODE16 = 0, và cũng chỉ có 8 bit thấp nhất là dữ liệu thực sự nhận được từ slave trong trường hợp này. Không nhất thiết phải dùng lệnh mov.b để lọc 8 bit dữ liệu nhận được từ slave, nhưng đó là một cách tốt.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn