PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Dùng ngắt ngoài (http://www.picvietnam.com/forum/showthread.php?t=3283)

lequocbao 16-12-2008 12:44 PM

Mình có thể vừa dùng ngắt ngoài qua chân RB0 và ngắt timer0 cùng lúc được không các bạn?nếu được thì khi có tín hiệu ngắt này mà ngắt kia gọi thì sao?có ai biết không?

namqn 18-12-2008 07:27 PM

Trích:

Nguyên văn bởi lequocbao (Post 21423)
Mình có thể vừa dùng ngắt ngoài qua chân RB0 và ngắt timer0 cùng lúc được không các bạn?nếu được thì khi có tín hiệu ngắt này mà ngắt kia gọi thì sao?có ai biết không?

Bạn vẫn đang đề cập đến ngắt của PIC16 chứ?

Với PIC16, không có chế độ ưu tiên ngắt. Do đó, khi đang xử lý một ngắt nào đó, phần cứng của PIC16 sẽ tự động tắt bit GIE (gán bằng '0'), cấm tất cả các ngắt khác. Sau khi xử lý xong một ngắt, chương trình thoát khỏi ISR, bit GIE sẽ được phần cứng tự động bật bit GIE (gán bằng '1'), và các ngắt khác nếu đang còn chờ sẽ được xử lý. Việc ưu tiên xử lý ngắt nào được dành cho người viết code.

Do đó, câu trả lời cho câu hỏi của bạn là được. Và phần trên đã giải thích những gì sẽ xảy ra khi đang xử lý một ngắt mà xuất hiện một ngắt khác. Bạn chỉ cần viết tất cả những phần code xử lý những ngắt được bật trong ISR thôi. Như đã nói ở trên, bạn là người quyết định ngắt nào được ưu tiên xử lý trước.

Thân,


Múi giờ GMT. Hiện tại là 11:06 PM.

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