PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Những câu hỏi thường gặp (http://www.picvietnam.com/forum/forumdisplay.php?f=54)
-   -   Hỏi về mức độ ưu tiên các ngắt trong PIC6F877A? (http://www.picvietnam.com/forum/showthread.php?t=1278)

dvnccbmacbt 12-07-2007 12:39 AM

Hỏi về mức độ ưu tiên các ngắt trong PIC6F877A?
 
Các bác cho em hỏi. Trong PIC có ưu tiên các ngắt không? Em ví dụ như khi đang ngắt bằng timer1( chế độ định thời) thì có ngắt ngoài xảy ra. Vậy PIC xử lý thế nào? Mong các bác chỉ giáo. Cảm ơn các bác nhiều.

namqn 12-07-2007 12:57 AM

Trích:

Nguyên văn bởi dvnccbmacbt (Post 9991)
Các bác cho em hỏi. Trong PIC có ưu tiên các ngắt không? Em ví dụ như khi đang ngắt bằng timer1( chế độ định thời) thì có ngắt ngoài xảy ra. Vậy PIC xử lý thế nào? Mong các bác chỉ giáo. Cảm ơn các bác nhiều.

Các PIC dòng tầm trung (lõi 14-bit) như PIC16F877A không có nhiều mức ưu tiên ngắt, nghĩa là không có ưu tiên gì cả. Khi xử lý ngắt, bạn sẽ tự quyết định mức độ ưu tiên bằng cách viết code thích hợp.

Theo tài liệu của Microchip (datasheet của PIC16F877A), khi bit GIE được bật và cờ ngắt (của một ngắt đang được phép) chuyển lên mức cao, PIC sẽ bị ngắt ngay lập tức. Cách xử lý của bạn trong code xử lý ngắt là, khi bạn muốn cho phép một ngắt nào đó xảy ra khi đang xử lý một ngắt khác, bạn vẫn để bit GIE là bật, ngược lại bạn xóa bit GIE khi xử lý ngắt sẽ có nghĩa là ngắt đang được bạn xử lý có độ ưu tiên cao nhất. Thứ tự của các đoạn code xử lý các ngắt khác nhau cũng mang ý nghĩa ưu tiên. Bạn tự suy luận thêm nhé.

Thân,


Múi giờ GMT. Hiện tại là 03:42 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam