View Single Post
Old 08-12-2008, 05:28 PM   #12
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi phungmap123 View Post
xin các bác làm ơn bớt chút thời gian, giải quyết dùm em vấn đề này tí nha, cảm ơn các bác nhiều :
trong chuơng trình của em có sử dụng 2 ngắt là : ngắt portb và ngắt timer1 . Khi mô phỏng với từng chương trình riêng lẻ thì nó chạy đúng, nhưng khi ráp cả 2 chuơng trình lại thì nó báo là : " STACK FLOW ", và dữ liệu xuất ra cũng bị sai.
em nghĩ là khi kết hợp cả 2 chương trình lại thì thanh ghi nào đó(STATUS, PCLATH, FSR, W) bị thay đổi dữ liệu và làm chương trình sai.
tài liệu thì chỉ nói là ' khi dùng ngắt thì nên cất các ô nhớ này vào 16 byte cao của bank nào cũng được ' , nhưng tới giờ em vẫn chưa tìm ra được cách cất các dữ liệu này.
PIC mà em dùng là : PIC 16F877A
em đang cần gấp lắm,mong các bác giúp đỡ !
Nếu bạn dùng ngôn ngữ cấp cao (C chẳng hạn) thì trình biên dịch có nhiệm vụ hiện thực điều này cho bạn. Nếu bạn dùng hợp ngữ thì mục 14.12-Context Saving During Interrupts trong datasheet của PIC16F877A đã có một ví dụ cụ thể.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn