Preguntas con etiqueta 'c'

2
respuestas

STM32 HAL_DELAY se cuelga con HAL_GetTick = 0 [cerrado]

Entorno: GNU_ARM, STM32F407 Cada vez que uso hal_delay() , el programa se bloquea justo antes de la llamada a hal_delay() . Agregué: printf("\n%d==>%d,",tickstart,HAL_GetTick()); en el bucle de HAL_DELAY. El res...
3
respuestas

¿Cómo parpadear los LED con diferente frecuencia?

Tengo un pic32mx y tres LEDs. [hoja de datos pic32mx] ( enlace ) Necesito una función que obtenga la cantidad de LED y frecuencia y luego parpadee el LED con esa frecuencia. Por ejemplo, necesito parpadear 1, 2, 4 y 8 veces por segundo. Te...
1
respuesta

Loop se está ejecutando infinitas veces

Estoy trabajando con un ATmega32-A . Al usar la comunicación USART, estoy mostrando datos en el monitor y estoy usando la caja del interruptor para seleccionar diferentes comandos. En uno de los comandos he escrito el siguiente código: case(...
4
respuestas

Retardo de no bloqueo para máquinas de estado

¿Cuál es la mejor manera de implementar un retardo de no bloqueo para una máquina de estado para cada estado? Hasta ahora, lo mejor que encontré es algo así: static uint8_t state = STATE_ONE; if (state == STATE_ONE) { static uint64_t time_v...
2
respuestas

¿Cuándo usar un RTOS? [cerrado]

Digamos que tengo este programa int main(void) { #define STOP 0 #define RUN 1 flag = getEvent(); while(flag != STOP) { func1(); // A function that takes 1 seconds to finish it's job => func2(); // A function that takes 60 se...
2
respuestas

7 segmento led enciende un punto decimal específico

Tengo un led de 12 pin 7 (ATA8041AB) que funciona bien usando mi código, es solo que cuando intento iluminar el led de punto decimal, se enciende todo dp o no se enciende. aquí está mi código int segA = 3; // top int segB = 4; // right-top...
1
respuesta

El firmware detiene la ejecución en la llamada de función

He estado experimentando este extraño comportamiento en un AVR ATmega328p. Lo que está sucediendo es lo siguiente: He escrito un firmware que hace uso de USART, TIMER0 e interrupciones. El firmware funciona como se esperaba. Aquí está la s...
3
respuestas

¿Cómo puedo encontrar la posición actual de la pila sin un puntero de pila en la programación del microcontrolador?

En una entrevista, me preguntaron cómo encontraría la posición de la pila sin utilizar el puntero de pila que le dieron con el límite superior de pila y la profundidad de pila. Me pidieron que ilustrara el uso de C o lenguaje ensamblador incrust...
3
respuestas

AVR. ¿Cómo configurar como salida solo un pin?

En el código AVR C, si desea declarar algún puerto como salida, solo tiene que hacer esto: DDRB = 0xFF; Pero, ¿cómo puedo hacer si quiero declarar como salida solo un pin? Por ejemplo, quiero declarar que ha generado el pin 13 de Arduino,...
2
respuestas

LUT de tamaño configurable usando una matriz en C - sistemas integrados

Estoy trabajando con el MCU STM32F7 en un proyecto en el que necesito calcular y crear una LUT con los valores de una señal que finalmente enviaré al DAC. El problema con la LUT es que el tamaño se conocerá solo en tiempo de ejecución porque...