MCP23017 no causa interrupciones usando un interruptor normalmente abierto en el encendido

1

Estoy trabajando en un proyecto en el que estoy usando dos botones 4x4. Necesitaría usar dos MCP23017 para interrupciones de entrada para admitir los 32 botones. Estoy usando un Netduino y me encuentro con un problema en el que no estoy seguro si su software o hardware están relacionados.

Estoy usando este sitio web como guía para comprender y configurar el MCP23017 y estoy siguiendo todos los pasos, incluido el diagrama a continuación:

Eldiagramamuestraladireccióncomoestáestablecida,SDAySCLtienenunaresistencia,elrestablecimientoestásesgado,unpinenelNetduinoestáconfiguradoparamanejarlainterrupciónyseutilizaunmicrobutónparaprobarlafuncionalidaddelainterrupción.

ConfiguroelpinMCP23017paraelinterruptorcomoentrada,loconfiguroparausarunaresistenciadelevantamiento,luegoelpincomounainterrupción.ElpinenelNetduinoestáconfiguradoparausarunaresistenciadeextraccióntambiényparacausarinterrupcionescuandoestábajo.EstofuncionaperfectamentebiensiemprequeelNetduinoarranqueconelinterruptorcerrado.Sielinterruptorestáabierto(comonormalmenteestáabierto),nuncaseproduceninterrupciones.NecesitoiniciarNetduinomientraspresionoelmicrobuttonparaobtenerelcomportamientodeseado.Noestoysegurodequéestácausandoesto.Estoyexhibiendoelmismocomportamientoquelapersonaquecomentaenlaparteinferiorde esta página .

¿Existe una solución de software o hardware para esto?

    
pregunta Marcel Morillo

1 respuesta

2

1.7.5  CONDICIONES DE INTERRUPCIÓN Hay dos configuraciones posibles que causan interrupciones (configuradas a través de INTCON):

1. Pines configurados para cambio de interrupción en pin causará una interrupción si un pin cambia al estado opuesto. Se restablece el estado predeterminado después de una interrupción se produce y después de borrar la condición de interrupción (es decir, después de leer GPIO o INTCAP). Por ejemplo, una interrupción ocurre por una entrada que cambia de "1" a "0". La nueva inicial El estado para el pin es un 0 lógico después de la interrupción. borrado.

2. Pines configurados para interrupción en cambio desde el valor de registro causará una interrupción si el pin de entrada correspondiente difiere de la registrar bit. La condición de interrupción permanecerá como mientras exista la condición, sin importar si la Se lee INTCAP o GPIO.

    
respondido por el erich

Lea otras preguntas en las etiquetas