Preguntas etiquetadas con interrupts

Un mecanismo para el control del flujo del programa en una computadora. Cuando se interrumpe, una computadora guarda su estado operativo actual y cambia a la ejecución del código que depende de la interrupción que se generó. Las interrupciones pueden ser de origen de hardware o de origen de software; Las interrupciones de origen de software se llaman trampas. Es un mecanismo alternativo para el sondeo y es la base alrededor de la cual se implementa la mayoría de E / S, multitarea y control.

35
¿Qué significa borde activado y nivel activado?

Estoy estudiando la arquitectura del microprocesador 8085 y el borde de la palabra se activó y se activó el nivel, lo que realmente me confunde. ¿Alguien puede explicarme en palabras simples? Mientras estudiaba las interrupciones de 8085 llamadas RST 7.5, RST 6.5, RST 5.5 y TRAP me encontré con...

24
Técnicas de sincronización / delimitación de protocolos en serie

Como la comunicación serial asíncrona se extiende ampliamente entre los dispositivos electrónicos, incluso hoy en día, creo que muchos de nosotros hemos encontrado esa pregunta de vez en cuando. Considere un dispositivo electrónico Dy una computadora PCconectada con una línea serie (RS-232 o...

17
¿Es seguro SPI ser interrumpido?

Estoy escribiendo en una tarjeta microSD desde mi firmware, pero es la tarea de menor prioridad, por lo que puede ser interrumpida por otras tareas mientras está en medio de la lectura / escritura. Ahora supongamos que me comuniqué con esta tarjeta microSD usando un UART. El problema durante las...

17
Stm32 Evento e interrupciones

Comencé a estudiar las interrupciones en stm32 específicamente en el tablero de descubrimiento stm32f4. Encontré este ejemplo en el que tienes que presionar el botón para iniciar la interrupción y presionarlo nuevamente para detenerlo. En esta línea: EXTI_InitStructure.EXTI_Mode =...

15
Cómo implementar secciones críticas en ARM Cortex A9

Estoy transfiriendo un código heredado de un núcleo ARM926 a CortexA9. Este código es baremetal y no incluye un sistema operativo o bibliotecas estándar, todo personalizado. Tengo una falla que parece estar relacionada con una condición de carrera que debería evitarse mediante una sección crítica...

13
Instrucción AVR SEI

La instrucción AVR SEI ( http://www.atmel.com/webdoc/avrassembler/avrassembler.wb_SEI.html ) espera a que finalice la siguiente instrucción antes de habilitar las interrupciones. Si uso otra instrucción para configurar el indicador I en SREG, ¿esto también esperará 1 instrucción? En otras...

12
¿Cómo sabe el controlador cuándo saltar al ISR?

Estoy hablando de cosas en el nivel central. Por lo que yo entiendo, el núcleo del controlador solo ejecuta instrucciones que se obtienen de la memoria (Fetch - Decode - Execute). Cuando llega una interrupción, ¿cómo decide el núcleo / ALU saltar al ISR? Debido a que nosotros, o el compilador,...

10
Interrupción de software vs función

Después de aproximadamente 3 años de trabajar con MCU, todavía no sé cuál es el uso de las interrupciones de software. He realizado varios trabajos con STM32 y nunca he usado las interrupciones de software. De hecho, esta es una gran pregunta para mí: ¿Por qué cuando podemos usar una función...

10
Uso correcto de una interrupción de cambio de pin

Estoy tratando de usar interrupciones de cambio de pin para detectar botones presionados. Hasta ahora nunca he trabajado con este tipo de interrupciones y hay algunos problemas, así que quiero asegurarme de que este sea el uso correcto. Si obtuve la hoja de datos correcta, se deben hacer las...

10
Habilitar interrupción pero no ISR

Me gustaría saber qué sucede si se habilita una interrupción (por ejemplo: interrupción de pérdida de arbitraje en el módulo CAN del LPC1778 de NXP), pero no se ha definido ningún ISR para la interrupción. Cuando se produce una interrupción de este tipo, sé que se establecerá el indicador de...

10
¿Alguna razón para no usar Timer0 en AVR?

Solo una pregunta básica ... Para arduino / avr / ATMega328, encuentro muchos ejemplos que usan Timer1 (incluso hay una biblioteca completa), pero rara vez hay alguno que utilice Timer0 (o Timer2). Ahora, sé que usar cualquiera de estos temporizadores para controlar un método ISR deshabilitará el...

10
Secciones críticas sobre Cortex-M3

Me pregunto un poco sobre la implementación de secciones de código críticas en un Cortex-M3 donde no se permiten excepciones debido a restricciones de tiempo o problemas de concurrencia. En mi caso, estoy ejecutando un LPC1758 y tengo un transceptor TI CC2500 a bordo. El CC2500 tiene pines que se...