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)
-   -   Trục trặc với 16f877a ngay từ đầu? (http://www.picvietnam.com/forum/showthread.php?t=1422)

chuchinh 28-08-2007 01:27 PM

Các bác có tài liệu nào về ngắt của PIC877A không cho em nhé. Em dùng cả 3 ngắt đồng thời thì có cần phải để ý gì không, hay cứ lúc nào cần dùng ngắt nào thì bật ngắt đó lên? Khi bật nguồn và khi reset ngắt khác nhau chỗ nào không nhỉ?
Em dùng 3 ngắt cho 3 sự kiện, để cả 3 sự kiện cùng xảy ra khi bật nguồn thì thấy ngắt 1 và ngắt 2 làm việc, ngắt 0 không khởi động. Nhưng nếu reset lại PIC thì ngắt 0 và ngắt 2 khởi động, ngắt 1 không làm việc? Các bác có thể cho em biết tại sao không?
Còn nữa, em thường disable các ngắt ngay cuối chương trình ngắt sau khi nó đã định thời xong hoặc chưa định thời xong nhưng có sự kiện khác xảy ra, như vậy có vấn đề gì không các bác.

namqn 28-08-2007 06:36 PM

Trích:

Nguyên văn bởi chuchinh (Post 11000)
Các bác có tài liệu nào về ngắt của PIC877A không cho em nhé. Em dùng cả 3 ngắt đồng thời thì có cần phải để ý gì không, hay cứ lúc nào cần dùng ngắt nào thì bật ngắt đó lên? Khi bật nguồn và khi reset ngắt khác nhau chỗ nào không nhỉ?
Em dùng 3 ngắt cho 3 sự kiện, để cả 3 sự kiện cùng xảy ra khi bật nguồn thì thấy ngắt 1 và ngắt 2 làm việc, ngắt 0 không khởi động. Nhưng nếu reset lại PIC thì ngắt 0 và ngắt 2 khởi động, ngắt 1 không làm việc? Các bác có thể cho em biết tại sao không?
Còn nữa, em thường disable các ngắt ngay cuối chương trình ngắt sau khi nó đã định thời xong hoặc chưa định thời xong nhưng có sự kiện khác xảy ra, như vậy có vấn đề gì không các bác.

Phản ứng của PIC ra sao phụ thuộc vào cách bạn xử lý ngắt, do đó bạn nên post phần code xử lý ngắt của bạn, cùng với phần code khởi tạo cho các ngắt thì mới có thể góp ý được.

Thân,

chuchinh 29-08-2007 01:04 PM

Chương trình của em khá dài và không rõ ràng lắm, để em tìm cách rút gọn lại mà vẫn giữ nguyên phần ngắt rồi gửi lên bác nhé.
À, bác cho em hỏi, khi một ngắt đang trong quá trình định thời, nếu có một sự kiện xảy ra mà mình muốn xóa không cho ngắt đó thực hiện tiếp thì có phải mình chỉ cần dùng lệnh sau phải không (ngắt 1):
disable_interrupts(int_timer1);
Em dùng lệnh này nhưng không thấy hiệu quả, không hiểu tại sao???

Mr.Bi 04-09-2007 09:07 PM

Không bit thông báo này là gì đây các sư huynh nhỉ ? Hình như plugin module PCM trong PIC C của em chưa có phải ko ?
http://i189.photobucket.com/albums/z...nhDN/Loi-1.jpg


Múi giờ GMT. Hiện tại là 01:51 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