¿Cómo se configura correctamente el Timer9 (TIM9) en un STM32F405xx para contar los pulsos en el flanco ascendente? ¿Hay una configuración especial para el pin al temporizador fuera de este breve ejemplo?
Esto es lo que he hecho hasta ahora y también he seguido el ejemplo de contador BREVE del manual de referencia que se copió aquí:
Por ejemplo, para configurar el contador ascendente para que cuente en respuesta a una borde ascendente en la entrada de TI2, utilice el siguiente procedimiento:
Configure el canal 2 para detectar bordes ascendentes en la entrada de TI2 escribiendo CC2S = '01' en el registro TIMx_CCMR1.
Configure la duración del filtro de entrada escribiendo los bits IC2F [3: 0] en el registro TIMx_CCMR1 (si no se necesita ningún filtro, mantenga IC2F = ’0000’).
- Seleccione la polaridad del flanco ascendente escribiendo CC2P = ’0’ y CC2NP = ’0’ en el registro TIMx_CCER.
- Configure el temporizador en el modo de reloj externo 1 escribiendo SMS = '111' en el registro TIMx_SMCR.
- Seleccione TI2 como la fuente de entrada del activador escribiendo TS = ’102 en el registro TIMx_SMCR.
- Habilite el contador escribiendo CEN = '1' en el registro TIMx_CR1.
Creo que he hecho lo anterior correctamente, pero leer el registro siempre devuelve 0. ¿Hay alguna configuración adicional dentro de un registro diferente para conectar el temporizador? Estaba leyendo sobre alternate functions
, pero no pude encontrar nada específico de los temporizadores y pines.
Lo estoy siguiendo libremente como referencia de código: enlace
Hoja de datos del chip: enlace
Manual de referencia de la familia de chips: enlace