Dela via


designguide för General-Purpose I/O (GPIO)

I det här avsnittet beskrivs hur du skriver en drivrutin för en GPIO-styrenhet (general-purpose I/O). En GPIO-styrenhet konfigurerar GPIO-stift för att utföra I/O-åtgärder med låg hastighet, fungera som enhetsval och ta emot avbrottsbegäranden. Från och med Windows 8 förenklar GPIO-ramverkstillägget (GpioClx) uppgiften att skriva en drivrutin för en GPIO-kontrollant. Dessutom tillhandahåller GpioClx ett enhetligt I/O-begärandegränssnitt för drivrutiner för kringutrustning som kommunicerar med enheter som ansluter till GPIO-stift på en styrenhet.

I det här avsnittet

Ämne Beskrivning

översikt över GPIO-drivrutinssupport

Från och med Windows 8 förenklar GPIO-ramverkstillägget (GpioClx) uppgiften att skriva en drivrutin för en GPIO-styrenhet. Dessutom tillhandahåller GpioClx drivrutinsstöd för kringutrustning som ansluter till GPIO-stift. GpioClx, som är ett tillägg som tillhandahålls av systemet till drivrutinsramverket i kernelläge (KMDF), utför bearbetningsuppgifter som är gemensamma för medlemmar i GPIO-enhetsklassen.

GpioClx I/O- och Avbrottsgränssnitt

Vanligtvis är klienterna för en GPIO-styrenhet drivrutiner för kringutrustning som ansluter till GPIO-stift. De här drivrutinerna använder GPIO-stift som datakanaler med låg bandbredd, enhetsvalsutdata och indata för avbrottsbegäran. Drivrutiner för kringutrustning öppnar logiska anslutningar till GPIO-stift som är konfigurerade som dataindata eller utdata. De använder dessa anslutningar för att skicka I/O-begäranden till dessa pins. Dessutom kan drivrutiner för kringutrustning logiskt ansluta sina avbrottstjänstrutiner till GPIO-stift som är konfigurerade som indata för avbrottsbegäran.

GPIO-Based maskinvaruresurser

Från och med Windows 8 är de allmänna I/O-stiften (GPIO) som styrs av en GPIO-styrenhetsdrivrutin tillgängliga för andra drivrutiner som systemhanterade maskinvaruresurser. GPIO I/O-stift, som är stift som är konfigurerade som dataindata eller datautdata, är tillgängliga som en ny Windows-resurstyp, GPIO I/O-resurser. Dessutom är GPIO-avbrottsstift, som är stift som är konfigurerade som indata för avbrottsbegäran, tillgängliga som vanliga Windows-avbrottsresurser.

GPIO-avbrott

Vissa gpio-styrenheter (general-purpose I/O) kan konfigurera sina GPIO-pins så att de fungerar som indata för avbrottsbegäran. Dessa indata för avbrottsbegäran drivs av kringutrustning som är fysiskt anslutna till GPIO-stiften. Drivrutinerna för dessa GPIO-styrenheter kan aktivera, inaktivera, maskera, avmaskera och rensa avbrottsbegäranden på enskilda GPIO-stift.

GpioClx DDI

GPIO-styrenhetsdrivrutinen för allmänna in-/utportar kommunicerar med GPIO Framework Extension (GpioClx) via GpioClx-gränssnittet för enhetsdrivrutiner (DDI). Denna DDI definieras i huvudfilen Gpioclx.h och beskrivs i General-Purpose I/O-drivrutinsreferens (GPIO). Som en del av denna DDI implementerar GpioClx flera drivrutinsstödsmetoder, som anropas av GPIO-styrenhetens drivrutin. Den här drivrutinen implementerar en uppsättning funktioner för återanrop av händelser som anropas av GpioClx. GpioClx använder dessa återkopplingar för att hantera avbrottsförfrågningar från GPIO-pinnar som är konfigurerade som antingen avbrotts- eller ingångssignaler och för att överföra data till eller från GPIO-pinnar som är konfigurerade som dataingångar och utgångar.