Nếu PIC bị treo, bạn nên sử dụng watch dog timer để kiểm tra. Nếu nó bị dừng lại thì cho reset PIC.
Ngoài ra, không được phép call function liên tục. Vòng lặp nhiều không phải là vấn đề, nhưng không được phép gọi vòng lặp chồng nhau nhiều cấp.
Các xử lý tốt nhất, đó là bạn phải thử từng trường hợp. Xóa toàn bộ các phần, test từng chiến thuật một, ở từng chiến thuật chạy đó, xem nó có bị dừng không. Nếu như bị dừng thì cần phải sửa lại code của đoạn đó.
Sau đó thêm vào dần và kiểm tra.
Về việc đóng ngắt relay thì bạn cũng cần phải cẩn thận, nên chặn một con trở và một con diode vào.
Vòng lặp nhiều không gây lỗi chương trình, chỉ có vòng gọi hàm con lồng nhau nhiều lần, và phần ngắt nhiều lần thì có thể xảy ra vấn đề. Bạn phải thật chú ý tới việc quản lý TOS.
Chúc vui
|