Compartilhar via


Habilitar e desabilitar interrupções de GPIO compartilhadas

Em alguns casos, as linhas de solicitação de interrupção de dois ou mais dispositivos periféricos podem se conectar ao mesmo pino de GPIO (E/S de uso geral) físico. O pino gpio para uma linha de interrupção compartilhada normalmente é configurado para interrupções disparadas em nível.

Se os drivers desses dispositivos registrarem suas ISRs (rotinas de serviço de interrupção) a serem disparadas quando uma interrupção for declarada nesse pino GPIO, a GpioClx (extensão de estrutura gpio) chamará a função de retorno de chamada CLIENT_EnableInterrupt somente quando o primeiro driver se registrar para essa interrupção. Quando outros drivers se registram para usar uma interrupção gpio que já está habilitada, GpioClx rastreia internamente esses registros, mas não chama redundantemente a função de retorno de chamada CLIENT_EnableInterrupt para habilitar essa interrupção. Da mesma forma, GpioClx chama a função de retorno de chamada CLIENT_DisableInterrupt somente quando o último desses drivers registrados libera a interrupção.