View Single Post
Old 18-08-2007, 06:41 PM   #9
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 scentoflove View Post
Cái này em có sửa rồi đúng với thanh ghi cũng như cờ ngắt, hàm wait_i2c() hoạt động bình thường, hàm write_i2c() gọi wait_i2c() vẫn chạy được khi em xuất dữ liệu ra nhưng read_i2c() thì bị treo
Trong trường hợp này tôi chưa có đủ thông tin. Vì khi đọc từ ngoại vi thì thông thường master sẽ ghi ra trước rồi tạo RESTART, sau đó mới đọc về từ ngoại vi. Theo tài liệu dsPIC33F FRM - Section 19 về I2C thì sau cạnh xuống của xung clock thứ 8 thì module cũng sẽ bật cờ ngắt MI2CxIF, do đó theo tôi phần wait_i2c() vẫn có thể được dùng để phát hiện thời điểm hoàn tất việc nhận từ ngoại vi. Bạn nên post phần code đó để tiện phân tích. Chứ chỉ nói rằng wait_i2c() làm việc với write_i2c() mà không làm việc với read_i2c() thì tôi bó tay. Vì những hàm đó là do bạn viết ra.

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

thay đổi nội dung bởi: namqn, 25-10-2007 lúc 12:56 AM.
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn