Gần đây tôi nhận ra một số code mẫu trong các tutorial của tôi khi biên dịch với các mức tối ưu khác nhau đã không còn hoạt động đúng. Lý do là bộ tối ưu mã của các phiên bản MPLAB C Compiler for dsPIC DSCs mới đã loại bỏ hoàn toàn một số biến và câu lệnh, khi phát hiện những biến đó không hề được thay đổi giá trị trong chương trình chính (giá trị của những biến này chỉ được thay đổi trong phần code xử lý ngắt chẳng hạn).
Khắc phục vấn đề này rất đơn giản, bạn chỉ cần thêm từ khóa
volatile trước khai báo của những biến đó (thường là những biến thuộc nhóm biến toàn cục). Ví dụ
Code:
volatile unsigned char flag;
Thân,