![]() |
|
![]() |
#1 |
Đệ tử 6 túi
Tham gia ngày: Jun 2005
Bài gửi: 141
: |
Chương trình của mình là đọc dữ liệu RTC từ IC Clock Ds1307. Trong chương trình main mình có sử dụng các chương trình con như I2C_Wr(0xD1), I2C_Rd(0);... để tạo các giá trị ban đầu cho các thanh ghi RTC. Còn trong chương trình ngắt mình cũng dùng những chương trình con đó để đọc dữ liệu từ RTC và hiển thị ra LCD. KHi mình dịch ra hex thì chương trình thông báo rằng mình đã sử dụng chương trình con I2C_Wr() trong cả chương trình ngắt và main. Mà chương trình con này là loại có tham số (tức là số 0xD1) nên ko được mà phải sử dụng kiểu gọi hàm gián tiếp #pragma funcall . Nhưng mình ko tìm được ví dụ nào của Mikro C về cách sử dụng #pragma funcall cả. Trong example của phần mềm cũng như tìm trong use's guide cũng ko có. Đã hỏi google 2 ngày nay chưa thấy.
|
![]() |
![]() |
![]() |
#2 |
Trưởng lão PIC bang
|
Bạn vẫn có thể giải quyết bài toán đó mà không cần gọi các hàm I2C khi xử lý ngắt. Bạn đang tự làm khó mình thôi. Hãy tham khảo tutorial 4 về dsPIC của tôi, tôi dùng ngắt thời gian trong dsPIC để định kỳ đọc thông tin từ DS1307 và gửi về máy tính, bạn hoàn toàn có thể áp dụng nguyên tắc đó.
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 |
![]() |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|