Tôi có một bộ LPC1114. Vài ngày qua tôi đã đào sâu triển khai CMSIS của Cortex M0 để tìm hiểu mọi thứ được thực hiện trong đó như thế nào. Cho đến nay tôi đã hiểu làm thế nào mỗi thanh ghi được ánh xạ và làm thế nào tôi có thể truy cập nó. Nhưng tôi vẫn không biết làm thế nào các ngắt được thực hiện trong đó. Tất cả những gì tôi biết về các ngắt trong CMSIS là có một số tên xử lý ngắt được đề cập trong tệp khởi động. Và tôi có thể viết các trình xử lý của riêng mình bằng cách viết một hàm C có cùng tên được đề cập trong tệp khởi động. Điều khiến tôi bối rối là trong hướng dẫn sử dụng, người ta nói rằng tất cả GPIO có thể được sử dụng làm nguồn ngắt ngoài. Nhưng chỉ có 4 ngắt PIO được đề cập trong tệp khởi động. Vậy nói với tôi:
- Làm cách nào tôi có thể triển khai các trình xử lý ngắt ngoài cho các GPIO khác?
- Bảng ngắt được ánh xạ trong CMSIS ở đâu?
- Sự khác biệt chính giữa NVIC và việc thực hiện ngắt trong các AVR / PIC là gì? (ngoại trừ NVIC có thể được ánh xạ ở bất cứ đâu trong flash)