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().

Cú pháp

noInterrupts();

Thông số

không

Trả về

không

Ví dụ

void setup() {}

void loop()
{
  noInterrupts();
  // tắt các ngắt để chạy
  // đoạn chương trình yêu cầu cao về thời gian
  interrupts();
  // bật lại các ngắt, các ngắt hoạt động
  // bình thường trở lại
}
Reference Tags: 
lên
6 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

Xung PPM

Bài này giới thiệu về xung PPM (Pulse Position Modulation) được sử dụng để điều khiển servo. Về bản chất PPM cũng là một xung, do vậy bạn cần tham khảo về xung trong bài xung PWM trước khi đọc tiếp nội dung của bài này.

Xung PPM khác với PWM ở chỗ:

lên
25 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
6 thành viên đã đánh giá bài viết này hữu ích.