![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Sep 2006
Bài gửi: 3
: |
![]() Có một vấn đề nhỏ là: ta không muốn dùng các ngắt chuẩn mà Pic hỗ trợ (có thể vì dùng hết rùi...) mà ta muốn định nghĩa một ngắt khác. VD ngắt trên chân RD0 của Pic chẳng hạn. Vậy thì phải làm cách nào??? Nếu có ai biết thì chỉ cho em với.
PS: Em có giải pháp này không biết chấp nhận được không, đó là dùng multithread (đa tiến trình) để lập trình cho Pic. Không biết thế nào nữa. Nhưng đến bây giờ vẫn chưa có tài liệu gì về vấn đề này. Xin mọi người giúp đỡ Thanks very much. |
![]() |
![]() |
![]() |
#2 |
Đệ tử 5 túi
Tham gia ngày: Jan 2008
Bài gửi: 96
: |
1. Nhận tín hiệu vào RD0 như là ngắt:
Code:
Void MAIN() { ... while (1) { ... if (RD0 == 1) {Muốn làm gi thi làm} } } Kết quả không đáp ứng 100% như ngắt. Nếu thời gian xảy ra sự kiện RD0=1 ngắn hơn thời gian chạy hết 1 vòng lặp While thì "lần ngắt" đó có thể bị bỏ qua. 2. multithread: Bạn hỏi Google, tôi đã gặp bên "dientuvietnam" thì phải. thay đổi nội dung bởi: minhsondaklak, 19-09-2008 lúc 03:43 PM. |
![]() |
![]() |
![]() |
#3 | |
Trưởng lão PIC bang
|
Trích:
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 |
|
![]() |
![]() |
![]() |
#4 |
Nhập môn đệ tử
Tham gia ngày: Sep 2006
Bài gửi: 3
: |
Cảm ơn anh Nam, em hiểu rồi.
Vậy là cách dùng multithread không được rồi. Không biết còn cách nào khác không? Làm như bạn minhsondaklak thì đúng là có rắc rối như bạn nói, nhất là với những chương trình có hàm main() dài!!! Có bạn nào biết cách làm không, chỉ mình với. |
![]() |
![]() |
![]() |
#5 |
Đệ tử 5 túi
Tham gia ngày: Jan 2008
Bài gửi: 96
: |
Không sợ Main() dài, chỉ sợ While() dài thôi !
|
![]() |
![]() |
![]() |
|
|