Я пытаюсь настроить общий таймер на плате STM32F, используя библиотеки HAL.Пока это мое выполнение:
static TIM_HandleTypeDef s_TimerInstance = {
.Instance = TIM2
};
void InitializeTimer() {
__TIM2_CLK_ENABLE();
s_TimerInstance.Init.Prescaler = 40000;
s_TimerInstance.Init.CounterMode = TIM_COUNTERMODE_UP;
s_TimerInstance.Init.Period = 500;
s_TimerInstance.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
s_TimerInstance.Init.RepetitionCounter = 0;
HAL_TIM_Base_Init(&s_TimerInstance);
HAL_TIM_Base_Start(&s_TimerInstance);
}
Я не могу получить доступ к членам s_TimerInstance
.
Поле 'Init' не может быть разрешено
Включены следующие заголовочные файлы:
#include "stm32f0xx_hal.h"
#include "stm32f072xb.h"
#include "stm32f0xx_hal_tim.h"
Определение TIM_HandleTypeDef следующее:
typedef struct
{
TIM_TypeDef *Instance; /*!< Register base address */
TIM_Base_InitTypeDef Init; /*!< TIM Time Base required parameters */
HAL_TIM_ActiveChannel Channel; /*!< Active channel */
DMA_HandleTypeDef *hdma[7]; /*!< DMA Handlers array
This array is accessed by a @ref TIM_DMA_Handle_index */
HAL_LockTypeDef Lock; /*!< Locking object */
__IO HAL_TIM_StateTypeDef State; /*!< TIM operation state */
}TIM_HandleTypeDef;