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.

Cú pháp

interrupts();

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
16 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ả

Bài 7: Cách viết chương trình không sử dụng hàm delay

Thông thường trong chương trình Arduino, khi cần dừng lại để chờ qua 1 khoảng thời gian chúng ta thường sử dụng hàm delay để thực hiện việc chờ này. Tuy nhiên cách làm này gây hao phí thời gian của CPU một cách vô ích, chúng ta không thể vừa dừng lại để chờ, vừa chạy 1 đoạn chương trình khác được.

lên
40 thành viên đã đánh giá bài viết này hữu ích.
Từ khóa: 

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.