Tôi đang thực hiện một dự án mà trong đó tôi cần xử lý ngắt trong Linux.làm thế nào để biết số gián đoạn/GPIO cho một pin cụ thể trong linux
hội đồng quản trị Tôi đang sử dụng là một ARM9Board dựa trên MCU s3c6410 của Samsung (cánh tay 11 bộ vi xử lý) và nó có I/O giao diện sau:
như hình ảnh cho thấy tôi có EINTx chân cho các ngắt bên ngoài và GPxx pins như GPIO pins và tôi không nhớ sử dụng bất kỳ của họ nhưng tôi không có số của họ!
Đối EINTx chân:
khi tôi gọi
int request_irq(unsigned int irq, void (*handler)(int, struct pt_regs *),
unsigned long flags, const char *device);
tôi cần số lượng ngắt để vượt qua nó như là paramter đầu tiên của hàm, vì vậy làm thế nào tôi có thể nhận được số irq ví dụ pin EINT16?
Đối GPxx chân: những câu chuyện tương tự như tôi cần pin nuumber GPIO để vượt qua nó với những chức năng
int gpio_request(unsigned gpio, const char *label);
int gpio_direction_input(unsigned gpio);
int gpio_to_irq(unsigned gpio);
tức là làm thế nào để tôi biết số GPIO cho pin GPP8?
tôi đã tìm kiếm các tài liệu của bảng và biểu dữ liệu nhưng nó không chứa bất kỳ thứ gì về cách lấy các con số đó, bất kỳ ý tưởng hoặc trợ giúp nào về nơi cần tìm?
hạt nhân được cung cấp cùng với bảng có trình điều khiển GPIO tại/drivers/gpio nhưng không phải tệp c có #define cho các chân và tôi tìm thấy /include/linux/gpio.g nhưng nó chỉ chứa khai báo các hàm như gpio_request và gpio_to_irq nhưng không #define hoặc –
Bạn đang sử dụng bảng nào? –
trang này http://www.arm9board.net/sel/prddetail.aspx?id=365&pid=200 –