lớp ExtInt -- cấu hình chân I/O để ngắt khi có sự kiện bên ngoài¶
STM32 MCUs chia bộ điều khiển ngắt ngoài (EXTI) thành hai dải: các đường 0-15 được dẫn từ các chân GPIO, và các đường trên 15 được nối với các nguồn nội bộ (báo thức RTC, thức dậy RTC, thức dậy USB, v.v.). Tổng số đường và ánh xạ các đường nội bộ trên 15 phụ thuộc vào MCU cụ thể; hãy tham khảo phần EXTI trong sổ tay tham chiếu của MCU trên OpenMV Cam để biết các gán cụ thể.
Mỗi đường GPIO N có thể được dẫn bởi chân PxN trên bất kỳ một cổng GPIO nào tại một thời điểm -- ví dụ đường 0 có thể ánh xạ tới PA0, PB0, PC0 hoặc bất kỳ chân 0 nào của cổng A đến K, nhưng chỉ một tại một thời điểm.
Ví dụ:
def callback(line):
print("line =", line)
extint = pyb.ExtInt(pin, pyb.ExtInt.IRQ_FALLING, pyb.Pin.PULL_UP, callback)
Mọi cạnh xuống trên pin sẽ gọi callback. ExtInt tự động cấu hình đường GPIO như một đầu vào; bạn không cần phải tự làm điều đó.
Ghi chú
Các nút nhấn cơ học "nảy" và một lần nhấn hoặc nhả thường tạo ra nhiều cạnh. Xem ví dụ bài giới thiệu về chống nảy này để biết các kỹ thuật.
Đăng ký hai hàm gọi lại trên cùng một chân sẽ gây ra ngoại lệ.
Nếu pin được truyền dưới dạng số nguyên, nó được giả định là xác định một trong các đường ngắt nội bộ và phải là >= 16 và nhỏ hơn tổng số đường EXTI của MCU. Bất kỳ giá trị chân nào khác đều được giải quyết thông qua bộ ánh xạ chân tiêu chuẩn.
Ngoài các chế độ IRQ_*, còn có các chế độ sự kiện EVT_RISING, EVT_FALLING và EVT_RISING_FALLING để dẫn chuyển tiếp vào đầu vào sự kiện của bộ xử lý (dùng với lệnh WFE để chờ tiêu thụ điện năng thấp). Các chế độ EVT_* không gọi hàm gọi lại Python và dành cho việc ngủ/quản lý nguồn điện; mã ứng dụng thông thường nên sử dụng các chế độ IRQ_*.
Hàm khởi tạo¶
- class pyb.ExtInt(pin: int | str | Pin, mode: int, pull: int, callback: Callable[[int], None])¶
Tạo một đối tượng
ExtInt.pin-- chân để bật ngắt. Có thể là đối tượngPin, chuỗi tên chân, hoặc số nguyên trong dải16-21để chọn nguồn ngắt nội bộ.mode-- chế độ kích hoạt. Một trong các giá trị:Hằng số
Kích hoạt
Cạnh lên.
Cạnh xuống.
Cạnh lên hoặc cạnh xuống.
pull-- cấu hình điện trở kéo của chân. Một trongpyb.Pin.PULL_NONE,pyb.Pin.PULL_UPhoặcpyb.Pin.PULL_DOWN.callback-- hàm gọi khi kích hoạt. Phải nhận đúng một đối số: số đường EXTI đã kích hoạt.
Phương thức lớp¶
Phương thức¶
Hằng số¶
- EVT_RISING: int¶
Dẫn cạnh lên vào đầu vào sự kiện của Cortex. Không có hàm gọi lại Python nào được gọi; dành cho sử dụng với lệnh
WFEtrong mã tiêu thụ điện năng thấp.