Así que estoy tratando de configurar una interrupción periódica muy simple en mi placa STM32VL-Discovery usando las bibliotecas libopencm3 en Linux. Revisé la documentación y solo quiero verificar con alguien que entiendo lo que está pasando.
Tengo entendido que el registro del preescalador escala el reloj interno a otra frecuencia/reloj que el temporizador realmente ve. es decir, configura el registro del preescalador del temporizador en 24 Mhz/Hz deseado para que el temporizador funcione a la frecuencia deseada. ¿Es esto correcto?
Suponiendo que sea correcto, digamos que quiero generar una interrupción en cada ciclo de reloj del temporizador. No vi nada en los documentos que me permitiera hacer eso además de establecer el registro de período en 1. Esto generaría una interrupción de desbordamiento en cada reloj, ¿correcto?
Si simplemente establece el registro de período en 1, esto no habilitará automáticamente la generación de interrupciones. Deberá realizar 2 pasos adicionales:
Por supuesto, no debe olvidar habilitar el cronometraje de su periférico con temporizador utilizando APB1PeriphClockCmd().
Hay un ejemplo detallado sobre la configuración de temporizadores en STM32F4-Discovery aquí: http://visualgdb.com/tutorials/arm/stm32/timers/
STM32VL-Discovery es un poco diferente, sin embargo, los pasos principales son los mismos.
chris stratton
incrustado.kyle
Cáustico