Cómo interconectar un switch con ARM7 usando C incrustado

BRAZO: GPIO (Registro de entrada y salida de propósito general)

Tiene la idea básica

  • Configurar pines GPIO
  • Lea el estado actual de uno de esos pines
  • Conecte el interruptor a ese pin con una resistencia pullup o pulldown

Necesita la resistencia para que cuando el interruptor esté apagado, la resistencia extraiga el voltaje del pin al otro estado. De lo contrario, eso no sucede.

El siguiente avance es agregar el interruptor antirrebote.

Para hacer esto, debe muestrear y almacenar los últimos valores (digamos 2–8) del pin durante un período de tiempo de varios milisegundos o más. Cuando todos los valores están de acuerdo, puede considerar que es una decisión final sobre si su interruptor está encendido o apagado.

He usado un solo valor de char en C como registro de desplazamiento para hacer eso antes de hoy. Cada período de muestra, desplazaría el valor a la izquierda, luego enmascararía en el bit menos significativo como el estado actual del interruptor. Una vez que el valor general alcanzó cero o 255, el cambio fue bueno para ir.

Esto ayuda a ignorar el ruido de los contactos mecánicos del interruptor.

More Interesting

Cómo evitar colocar un diseño vectorial complejo como un EPS incorporado en InDesign al copiar / pegar desde Illustrator

¿Cómo es tomar un curso de sistemas integrados en CMU?

¿Cuánto conocimiento de electrónica es necesario para que un graduado de CS trabaje con sistemas embebidos?

¿Cuáles son los reemplazos del módulo RFID para proyectos integrados?

¿Cuándo se espera la llegada de SoC autosustentable (autoalimentado)? Por favor, arroje algo de luz sobre el mecanismo de autoalimentación también.

¿Trabajar en Arduino Mega y trabajar en el microcontrolador 8051 es lo mismo para el aprendizaje integrado?

¿Qué es Android incrustado?

¿Qué funciones de un CRO se pueden realizar usando un microcontrolador y software relacionado?

¿Puede el titular de un diploma ECE convertirse en ingeniero de sistemas integrados también?

¿Cuáles son los libros que necesito leer antes de leer la hoja de datos de los microcontroladores y programar el sistema integrado?

¿Cuál es el desafío asociado con ser ingeniero de sistemas integrados (software y hardware) en Brasil?

¿Cuáles son ejemplos de proyectos basados ​​en RTOS?

¿Cuántos bits requiere una instrucción enviada como mínimo, incluidos los operandos? (Microcontrolador AVR Atmel de 8 bits)

¿Cuál es la diferencia entre el mecanismo de comunicación de I2C y USB?

Estoy trabajando en un enjambre industrial de robots, ¿se recomienda centrarse en el comando y control basado en el servidor, o centrarse en el control centrado en el robot?