STM Prescaler: ¿qué sucede si es negativo o demasiado grande?

0

Estoy usando un STM32

El osciloscopio está mostrando cosas realmente extrañas y el restablecimiento de todos los parámetros PWM en STM no ayuda (para otras lecturas de la placa están bien).

¿Qué sucede si configuro el preescalador del temporizador (usando __HAL_TIM_SET_PRESCALER) en algún valor incorrecto, como un número negativo o uno demasiado grande? ¿Se puede arruinar algo?

    
pregunta alcia

1 respuesta

3

Los preescaladores con temporizador ST son números de 16 bits sin signo .
No puede representar un número negativo en un registro de 16 bits sin firmar.

Establezca su calculadora de Windows en Progammer, seleccione Tamaño de palabra e ingrese -1.
El resultado es 0xFFFF, prescaler máximo. Debido al método de firma de complemento de dos .

Tampoco puede ajustar un número mayor que 65535. Puede intentar escribir 0xFFFF'FFFF,
pero la media palabra alta (16 bits) se descartará.

    
respondido por el Jeroen3

Lea otras preguntas en las etiquetas