View Single Post
Old 18-08-2007, 03:03 AM   #7
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
Anh Nam ơi, trong phần i2c hàm read_i2c sau khi set bit RCEN anh gọi wait_i2c và sau khi send ack a cũng gọi wait_i2c. Em sử dụng trên dspic33fj256GP710 thì bị treo 2 chổ đó. Em bỏ đi thì không bị treo nữa.
Anh giải thích dùm em chổ này.
Code của tôi viết cho dsPIC30F4012 chỉ có 1 module I2C, nên trong Wait_I2C() kiểm tra cờ _MI2CIF, còn chip của bạn có 2 module với cách gọi tên các cờ ngắt tương ứng khác đi. Đúng ra thì khi bạn dùng code cũ của tôi cho dsPIC33FJ256GP710 thì phải nhận được thông báo lỗi khi biên dịch mới đúng. Bạn sửa lại tên bit cần kiểm tra cho đúng (_MI2C1IF hay _MI2C2IF) trong hàm Wait_I2C() là có thể dùng với chip của bạn.

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