Таймер на STM32F - PullRequest
       10

Таймер на STM32F

0 голосов
/ 12 декабря 2018

Я пытаюсь настроить общий таймер на плате 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;
...