Giả sử rằng khi bạn đang chăm chỉ làm một việc gì đó, nhưng bỗng dưng có số điện thoại người thân gọi đến với công việc quan trọng, và bạn phải tạm ngưng công việc để nghe điện thoại.
Ngắt (Interrupts) cũng thể hiểu đơn giản gần giống như vậy. Bạn có thể thiết kế một nút nhấn đặc biệt mà khi bạn nhấn nút đó thì một khối lệnh phải được thực hiện, bất kể chương trình đang làm gì.
Trong ESP8266 cú pháp hàm đó như sau:
attachInterrupt(Pin, ISR(callback function), Interrupt type/mode);
Trong đó:
Pin: là chân chỉ định nhận tín hiệu ngắt.
ISR (Callback function): Là một thủ tục (không trả về, không tham số) để thực thi một khối lệnh nào đó khi ngắt được gọi.
Interrupt type/mode: gồm
CHANGE: Khi pin thay đổi trạng thái
RISING: Khi pin thay đổi từ LOW thành HIGH
FALLING: Khi pin chuyển từ HIGH thành LOW.
Trong ví dụ sau đây, chúng ta chỉ ra chân số 2 làm chân nhận tín hiệu Ngắt. Khi bạn nhấn nút một khối lệnh được thực hiện.
Sơ đồ kết nối
Đoạn mã Arduino để nạp code cho ESP8266