STM32F303 STM32CubeMX __HAL_TIM_SetCompare la macro no existe

3

Estoy usando CubeMX para generar código para mi NucleoF303. Estoy un poco confundido sobre cómo configurar el ancho de pulso de un temporizador en modo PWM.

Anteriormente (usando un F4) ha habido una macro __HAL_TIM_SetCompare en el archivo stm32fxxx_hal_tim.h.

Pero eso no existe. ¿Se supone que debo establecer el ciclo de trabajo de alguna otra manera?

Por supuesto que puedo establecer directamente los registros CCRx. Eso funciona. Pero si voy a usar un HAL con mucha abstracción como parece ser el cubo, al menos me gustaría saber cómo pretenden usarlo. Incluso si no lo hago.

No es realmente ningún código para esta pregunta. Pero aquí está mi confirmación actual en caso de que sea útil: enlace

¡Salud!

    
pregunta Chris

1 respuesta

3
  

Anteriormente (usando un F4) ha habido una macro __HAL_TIM_SetCompare en el archivo stm32fxxx_hal_tim.h.

Eso fue efectivamente hace algún tiempo. Encontré una copia de STM32CubeF4 V1.6.0 (publicada el 28 de mayo de 2015) en un directorio de proyecto anterior, y ya tiene la siguiente definición de alias

Inc/Legacy/stm32_hal_legacy.h:#define __HAL_TIM_SetCompare            __HAL_TIM_SET_COMPARE

Excavando aún más profundo, la descripción de 1.4.0 dice

  

Paquete de firmware STM32CubeF4 V1.4.0 / 26 de diciembre de 2014

     

Cambios principales

     

Versión de mantenimiento para corregir defectos conocidos y varias mejoras implementadas

     

El cambio de nombre de macros y literales de HAL para garantizar la compatibilidad en toda la serie STM32, se mantiene la compatibilidad hacia atrás gracias al nuevo archivo agregado stm32_hal_legacy.h bajo / Inc / Legacy

Por lo tanto, debe ser el momento en que __HAL_TIM_SetCompare se desaprobó a favor de __HAL_TIM_SET_COMPARE .

Sin embargo, aún deberías obtener la definición de alias, porque todos los encabezados HAL incluyen stm32_hal_legacy.h .

    
respondido por el berendi

Lea otras preguntas en las etiquetas