Trích:
Nguyên văn bởi pk178
Cám ơn bác đã giúp đỡ !!!
Ý của bác là không dùng ngắt nữa, mà thay vào đó là mình sử dụng 1 hàm con thông thường, rồi quét liên tục (chân RB0) xem nó có thay đổi mức logic không, nếu thay đổi thì nhảy đến chương trình con phải không ạ ?
Nếu như vậy, bác cho em hỏi ý tưởng này có được không ạ : em sẽ dùng ngắt để cho phép chọn chế độ, ứng với mỗi chế độ do người dùng chọn, chương trình ngắt sẽ nhảy đến hàm con tương ứng với chế độ đó, như vậy có được không ạ ?
|
Ý của tôi là trong chương trình phục vụ ngắt, bạn bật 1 cờ báo hiệu rằng đã có sự kiện ngắt. Ở trong vòng lặp chính của chương trình thì bạn dùng cấu trúc if ... để kiểm tra xem có sự kiện đó hay không, nếu có thì thực hiện các thao tác cần thiết. Làm cách này thì bạn vẫn có thể đáp ứng nhanh với sự kiện, mà không mất thời gian trong phần xử lý ngắt, và đặc biệt là không làm tăng độ sâu khi sử dụng stack.
Ý tưởng của bạn nên sửa lại thành: trong chương trình xử lý ngắt sẽ đặt biến trạng thái ứng với từng chế độ, trong vòng lặp chính của chương trình sẽ kiểm tra giá trị biến trạng thái và gọi hàm tương ứng.
Thân,