Ngắt (interrupt)

noInterrupts()

Giới thiệu

Nếu bạn chưa biết Ngắt (interrupt) là gì, vui lòng tham khảo thêm tại bài attachInterrupt().

Khi cần chạy các đoạn chương trình yêu cầu chính xác về thời gian, bạn cần tắt các ngắt để Arduino chỉ tập trung vào xử lý các tác vụ cần thiết và chỉ duy nhất các tác vụ này. Các ngắt chạy nền sẽ không được thực thi sau khi gọi hàm noInterrupts().

lên
9 thành viên đã đánh giá bài viết này hữu ích.

interrupts()

Giới thiệu

Nếu bạn chưa biết Ngắt (interrupt) là gì, vui lòng tham khảo thêm tại bài attachInterrupt().

Mặc định, Arduino luôn bật các ngắt nên trong phần setup(), bạn không cần gọi hàm này để bật các ngắt. Hàm interrupts() sẽ bật toàn bộ các ngắt đã được cài đặt. Nếu vì lý do nào đó bạn tắt các ngắt bằng hàm noInterrupts(), bạn sử dụng hàm này để bật lại các ngắt.

lên
14 thành viên đã đánh giá bài viết này hữu ích.

detachInterrupt()

Hàm detachInterrupt() sẽ tắt các ngắt đã được kích hoạt tương ứng với thông số truyển vào. Giả sử sau khi nhấn nút bấm lần đầu tiên đèn led sẽ tắt nhưng nhấn lần thứ 2 đèn sẽ không tắt nữa. Lúc này cần dùng đến detachInterrupt() để tắt ngắt chúng ta đã tạo ra.

lên
8 thành viên đã đánh giá bài viết này hữu ích.

attachInterrupt()

Ngắt (interrupt) là những lời gọi hàm tự động khi hệ thống sinh ra một sự kiện. Những sự kiện này được nhà sản xuất vi điều khiển thiết lập bằng phần cứng và được cấu hình trong phần mềm bằng những tên gọi cố định.

Vì ngắt hoạt động độc lập và tự sinh ra khi được cấu hình nên chương trình chính sẽ đơn giản hơn.

lên
27 thành viên đã đánh giá bài viết này hữu ích.
Đăng kí nhận RSS - Ngắt (interrupt)