Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Niektóre uniwersalne kontrolery we/wy (GPIO) mogą skonfigurować swoje wyprowadzenia GPIO, aby działały jako wejścia żądań przerwania. Wejścia żądania przerwania są aktywowane przez urządzenia peryferyjne, które są fizycznie połączone z wyprowadzeniami GPIO. Sterowniki dla tych kontrolerów GPIO mogą włączać, wyłączać, maskować, odmaskowywać i czyścić żądania przerwania dla poszczególnych pinów GPIO.
Obsługa przerwań GPIO jest opcjonalna. Rozszerzenie struktury GPIO (GpioClx) nie wymaga kontrolerów GPIO do obsługi przerwań GPIO.
W tym dziale
| Temat | Opis |
|---|---|
Obsługa przerwań GPIO jest z natury procesem dwuetapowym. Przerwanie z kontrolera we/wy ogólnego przeznaczenia (GPIO), które powoduje uruchomienie przez rozszerzenie struktury GPIO (GpioClx) procedury obsługi przerwań (ISR), jest nazywane podstawowym przerwaniem. Ten isR mapuje przerywanie wyprowadzenia GPIO do globalnego przerwania systemu (GSI) i przekazuje ten GSI do warstwy abstrakcji sprzętu (HAL). HAL generuje pomocnicze przerwanie, aby uruchomić drugi ISR, który jest logicznie połączony z wyprowadzeniem GPIO przez ten GSI. Ten proces jest pokazany na diagramie w przeglądzie obsługi sterowników GPIO. |
|
Sterowniki urządzeń peryferyjnych, które wysyłają przerwania do wyprowadzeń GPIO (we/wy ogólnego przeznaczenia), uzyskują przerwania GPIO jako abstrakcyjne zasoby przerwań systemu Windows. Sterowniki w ramach struktury sterowników trybu jądra (KMDF) otrzymują te zasoby poprzez funkcje zwrotne zdarzenia EvtDevicePrepareHardware. |
|
Począwszy od systemu Windows 8, sterowniki Kernel-Mode Driver Framework (KMDF) i User-Mode Driver Framework (UMDF) mogą opcjonalnie zarejestrować swoje procedury obsługi przerwania (ISR) do działania na poziomie pasywnym. |
|
Opcjonalnie, sterownik dla kontrolera we/wy ogólnego przeznaczenia (GPIO) może zapewnić obsługę przerwań GPIO. Aby obsługiwać przerwania GPIO, sterownik kontrolera GPIO implementuje zestaw funkcji wywołania zwrotnego w celu zarządzania tymi przerwaniami. Sterownik zawiera wskaźniki do tych funkcji wywołania zwrotnego w pakiecie rejestracyjnym, który sterownik dostarcza, gdy rejestruje się jako klient rozszerzenia platformy GPIO (GpioClx). |
|
Sterowniki kontrolera GPIO mogą wywoływać GPIO_CLX_AcquireInterruptLock i GPIO_CLX_ReleaseInterruptLock metody uzyskiwania i zwalniania blokad przerwania, które są implementowane wewnętrznie przez rozszerzenie struktury GPIO (GpioClx). Kod sterownika uruchamiany w środowisku IRQL = PASSIVE_LEVEL może wywołać te metody w celu synchronizacji z procedurą usługi przerwania (ISR) w GpioClx. GpioClx dedykuje oddzielną blokadę przerwania do każdej grupy wyprowadzeń w ramach kontrolera GPIO. |
|
W niektórych przypadkach linie przerwań żądań z dwóch lub więcej urządzeń peryferyjnych mogą łączyć się z tym samym fizycznym pinem GPIO. Pin GPIO dla współdzielonej linii przerwania jest zwykle skonfigurowany dla przerwań wyzwalanych poziomem. |
|
Wyprowadzenia we/wy ogólnego przeznaczenia (GPIO), które są skonfigurowane jako wejścia przerwań, mogą być zamaskowane i odmaskowane, a także włączane i wyłączane. |