Ðăng Nhập

View Full Version : vấn đề phục vụ nhiều ngắt trong MPLABX XC8


longdv
18-10-2014, 03:59 PM
Em đang viết cho pic16f887. tình hình là em muốn viết 2 ngắt timer cho timer0 và timer1.
nhưng em tìm hiểu thì XC8 chỉ cho phép viết 1 trình phụ vụ ngắt. rồi có ngắt xãy ra rồi vô đo so sánh cờ để phân loại ngắt. như vậy sẽ rất bất tiện cho việc viết nhiều trình phụ vụ ngắt.
thêm 1 trường hợp nữa là xãy ra ngắt khi đang phụ vụ 1 ngắt khác thì sao?
hay là em đã hiều sai. the như luồng này: http://www.microchip.com/forums/m729209.aspx
Các anh chị chỉ em với.

bien_van_khat
19-10-2014, 12:47 AM
1. PIC16F887 chỉ có 1 vector ngắt cho tất cả các ngắt, XC8 không cho phép bạn viết hàm ngắt cho từng loại ngắt. CCS thì có thể.
2. Đối với PIC16F887, nếu 1 ngắt (B) xảy ra trong khi 1 ngắt khác (A) đang được phục vụ, thì B phải chờ tới lúc A đã được phục vụ xong mới được phục vụ.

longdv
21-10-2014, 12:40 PM
Cho em hỏi thêm một câu nữa.
Trong xc8, làm sao để em có thể đưa con trỏ chương trình tới địa chỉ reset vector (0000h) để thực hiện reset chương trình tại 1 thời điểm bất kỳ, khi chương trình đang chạy bình thường.

lacrangchay
10-04-2015, 08:51 PM
chào bạn
k biết bạn đã xử lý đc vần đề này chưa chứ bây giờ mình đang mắc phải. nếu bạn đã giải quyết xong rồi xin chỉ giáo nhé