![]() |
Xin hỏi về ngắt timer0 PIC6F877A!!! giúp e với !!!!
e được biết là khi timer0 tràn thi nhảy vào ngắt, nhưng khi nào thì nó đếm tiếp? khi thực hiện xong ngắt hay là khi vừa nhảy vào ngắt?
e mới học nên kô rõ lắm chỗ nay, xin các cao thủ chỉ giáo? |
Trích:
|
E biết vậy nhưng ý e hỏi là khi nó đang thực hiện ngắt thì nó có đếm không hay là khi thực hiện xong ngắt và trở về chương trình chính nó mới đếm tiếp ?
ngắt của e nó thế này : Code:
void timer0() |
Có nghĩa là khi con PIC còn chạy thì vẫn còn dao động, cho dù CPU có làm việc gì đi chăng nữa, nếu Timer0 vẫn được cho phép thì nó vẫn cứ tiếp tục đếm.
Trả lời chính xác câu hỏi của bạn là "Trong ngắt Timer 0 vẫn đếm" Tuy nhiên, dùng delay tới 20ms trong ngắt như chương trình của bạn thì cho dù Timer 0 có tràn tiếp 1 lần nữa nó vẫn không gây ra ngắt, vì khi vào Ngắt, GIE bị xóa che các ngắt khác |
cảm ơn bạn nhiều, mình hiểu rồi, mình sẽ đem delay ra ngoài ngắt !
|
Ở trong chương trình phục vụ ngắt không nên đặt lời gọi một hàm hay thủ tục nào đó mà mình đã sử dụng trong chương trình. Tốt nhất là bạn nên đặt các biến dạng cờ hay tăng giảm giá trị nào đó thôi. Nếu mình dùng hàm hay thủ tục nào đó đã sử dụng chỗ khác vào trong trình phục vụ ngắt thì trình dịch sẽ thông báo reentrancy
|
Múi giờ GMT. Hiện tại là 08:22 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