Preguntas con etiqueta 'isr'

2
respuestas

RTOS: ¿Por qué necesitamos versiones especiales de publicaciones para ISR?

En algunos kernels RT, si desea publicar en un semáforo o marca desde un ISR, debe llamar a una versión especial del método, en lugar de la llamada normal de una tarea normal. Ejemplos: xSemaphoreGiveFromISR() en lugar de xSemaph...
1
respuesta

La interrupción nunca se dispara

Soy nuevo en Embedded y he estado luchando con esto durante días. Simplemente no entiendo por qué esto no funciona. Estoy usando un ATxMega128A1. Quiero usar una interrupción de desbordamiento del temporizador para desplazar a la izquierda un...
2
respuestas

ISR, volatile y ATOMIC_BLOCK

Desde mi experiencia hasta ahora, soy consciente de lo siguiente a lo que debo prestar atención cuando trabajo con ISR: Un ISR debería completarse rápidamente Las variables compartidas entre un ISR y la ruta de ejecución principal se deben...
1
respuesta

¿Cómo puedo decirle al compilador XC8 de Microchip que estoy usando un controlador de interrupción personalizado? ¡Intenta colocar otro código en la dirección 4!

Estoy desarrollando un firmware para el microchip PIC16F882 usando el microcontrolador MPLAB X IDE y la versión gratuita de su compilador XC8 C. Tengo un pequeño problema al intentar agregar un controlador de interrupción personalizado. Po...
2
respuestas

Realización de un programa multitarea con interrupciones de temporizador

Este es mi intento de realizar multitareas (bueno, casi) a través de interrupciones. En este ejemplo, la Tarea 1 es: el LED de alternancia conectado a PB1 a 2Hz (se usa el temporizador 1, OCR1 puede contener valores hasta 65535), la tarea 2 es:...
2
respuestas

Al configurar el puerto en el bucle principal, ISR se muere de hambre

El código de ejemplo inicializa un temporizador asíncrono que se dispara cada segundo establece dos puertos como salidas (PA4, PA6 - LED conectados) el temporizador ISR conmuta el pin PA4 establece permanentemente el pin PA6 en 1 en el...
0
respuestas

Error de interrupción anidado STM8, no descrito en la hoja de erratas actual ES019

Si el proceso principal ejecuta WFI con el bit AL establecido en CFG_GCR, el cambio de los bits de prioridad I1 / I0 en el ISR hace que la CPU se detenga cuando se produce una IRQ anidada. Condiciones previas: todos los registros ITC_SPR1 tie...
2
respuestas

MSP430 cómo hacer ISR configurables en un módulo (Code composer studio C)

Tengo una pregunta a la que creo que la respuesta es bastante simple. Pero no he podido encontrar una respuesta directa a. Si tengo esta rutina de servicio en algún módulo foo.c #pragma vector = SOME_VECTOR interrupt void fooISR(){ doso...
2
respuestas

¿Está configurando los indicadores de software un uso efectivo de las interrupciones?

Actualmente estoy trabajando en un proyecto de microcontrolador (Arduino) en el que deseo usar interrupciones generadas por pulsadores y temporizadores. Sin embargo, no estoy seguro de si estoy "efectivamente" usando las interrupciones. Aquí est...
2
respuestas

Cálculo de vector de interrupción en controladores basados en PowerPC

Estoy trabajando con Freescale MPC5534 basado en el arco PowerPC. No puedo entender cómo se calcula la dirección de un ISR particular durante el tiempo de ejecución. Hay tres registros involucrados, INTC_IACKR, INTC_IVPR, INTC_IVOR, y el valor f...