🌱 STM32 - 7. External Interrupt - Ngắt ngoài
Bộ điều khiển ngắt ngoài bao gồm tối đa 23 bộ phát hiện cạnh lên/cạnh xuống để tạo ra các yêu cầu ngắt. Mỗi line ngắt đầu vào có thể được cấu hình độc lập để chọn loại (ngắt hoặc sự kiện) kích hoạt tương ứng (falling/rising hoặc cả hai). Mỗi line ngắt cũng có thể được che - mask một cách độc lập. Một thanh ghi Pending để duy trì ngắt ở trạng thái chờ xử lý.
Để hiểu hơn về ngắt ngoài, các bạn cần đọc hai bài viết sau:
👉 Các mức độ ưu tiên ngắt (có thể lập trình), địa chỉ của Vector ngắt, và các Line tương ứng với từng ngắt được quy định trong bảng Vector ngắt - Vector Table, xem trong RM (Ví dụ RM của STM32F401 thì Vector Table nằm ở Table 38, trang 203).
👉 Một số đặc điểm của ngắt ngoài
- Mỗi ngắt có thể kích hoạt độc lập và có thể được che - mask độc lập. Mỗi ngắt cũng có những bit status riêng.
- Có thể xử lý lên đến 23 ngắt/sự kiện.
- Kiểm tra tín hiệu ngoài có độ rộng xung nhỏ hơn clock trên APB2.
👉 Sơ đồ khối chức năng của ngắt ngoài STM32F401
Đặc điểm các khối chức năng trong External Interrupt:
- Khối Edge detect circuit, kết nối trực tiếp với các chân I/O (Input line), dùng để phát hiện sườn lên/sườn xuống trên các chân I/O tương ứng được cài đặt chế độ ngắt ngoài.
- Hai khối Rising/Falling trigger selection register dùng để chọn sườn lên/sườn xuống hoặc cả hai để phát hiện ngắt.
- Khối Software Interrupt Event register dùng để tạo các ngắt/sự kiện bằng software.
- Interrupt mask register, dùng để cho phép che/không che ngắt. Hai chức năng ngắt ở trên (Software hoặc Edge Trigger) khi xảy ra sẽ cần kiểm tra xem ngắt có bị che hay không.
- Nếu ngắt xảy ra mà không bị che, chúng sẽ được xử lý bằng thanh ghi Pending Request Register. Và sau đó gửi yêu cầu ngắt tương ứng đến bộ điều khiển ngắt NVIC để chờ xử lý.
Cụ thể chức năng của các thanh ghi sẽ được nêu ở bài sau.
Tags:
STM32