source: trunk/firmware/Src/tim.c @ 6

Last change on this file since 6 was 6, checked in by f.jahn, 3 months ago
File size: 4.2 KB
RevLine 
[6]1/**
2  ******************************************************************************
3  * File Name          : TIM.c
4  * Description        : This file provides code for the configuration
5  *                      of the TIM instances.
6  ******************************************************************************
7  * @attention
8  *
9  * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
10  * All rights reserved.</center></h2>
11  *
12  * This software component is licensed by ST under BSD 3-Clause license,
13  * the "License"; You may not use this file except in compliance with the
14  * License. You may obtain a copy of the License at:
15  *                        opensource.org/licenses/BSD-3-Clause
16  *
17  ******************************************************************************
18  */
19
20/* Includes ------------------------------------------------------------------*/
21#include "tim.h"
22
23/* USER CODE BEGIN 0 */
24
25/* USER CODE END 0 */
26
27TIM_HandleTypeDef htim1;
28
29/* TIM1 init function */
30void MX_TIM1_Init(void)
31{
32  TIM_ClockConfigTypeDef sClockSourceConfig = {0};
33  TIM_MasterConfigTypeDef sMasterConfig = {0};
34  TIM_OC_InitTypeDef sConfigOC = {0};
35  TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0};
36
37  htim1.Instance = TIM1;
38  htim1.Init.Prescaler = 16;
39  htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
40  htim1.Init.Period = 100;
41  htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
42  htim1.Init.RepetitionCounter = 0;
43  htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
44  if (HAL_TIM_Base_Init(&htim1) != HAL_OK)
45  {
46    Error_Handler();
47  }
48  sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
49  if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK)
50  {
51    Error_Handler();
52  }
53  if (HAL_TIM_OC_Init(&htim1) != HAL_OK)
54  {
55    Error_Handler();
56  }
57  sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
58  sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_RESET;
59  sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
60  if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK)
61  {
62    Error_Handler();
63  }
64  sConfigOC.OCMode = TIM_OCMODE_TIMING;
65  sConfigOC.Pulse = 0;
66  sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
67  sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH;
68  sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
69  sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET;
70  sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET;
71  if (HAL_TIM_OC_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
72  {
73    Error_Handler();
74  }
75  sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE;
76  sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE;
77  sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF;
78  sBreakDeadTimeConfig.DeadTime = 0;
79  sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE;
80  sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH;
81  sBreakDeadTimeConfig.BreakFilter = 0;
82  sBreakDeadTimeConfig.BreakAFMode = TIM_BREAK_AFMODE_INPUT;
83  sBreakDeadTimeConfig.Break2State = TIM_BREAK2_DISABLE;
84  sBreakDeadTimeConfig.Break2Polarity = TIM_BREAK2POLARITY_HIGH;
85  sBreakDeadTimeConfig.Break2Filter = 0;
86  sBreakDeadTimeConfig.Break2AFMode = TIM_BREAK_AFMODE_INPUT;
87  sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE;
88  if (HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig) != HAL_OK)
89  {
90    Error_Handler();
91  }
92
93}
94
95void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
96{
97
98  if(tim_baseHandle->Instance==TIM1)
99  {
100  /* USER CODE BEGIN TIM1_MspInit 0 */
101
102  /* USER CODE END TIM1_MspInit 0 */
103    /* TIM1 clock enable */
104    __HAL_RCC_TIM1_CLK_ENABLE();
105  /* USER CODE BEGIN TIM1_MspInit 1 */
106
107  /* USER CODE END TIM1_MspInit 1 */
108  }
109}
110
111void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
112{
113
114  if(tim_baseHandle->Instance==TIM1)
115  {
116  /* USER CODE BEGIN TIM1_MspDeInit 0 */
117
118  /* USER CODE END TIM1_MspDeInit 0 */
119    /* Peripheral clock disable */
120    __HAL_RCC_TIM1_CLK_DISABLE();
121  /* USER CODE BEGIN TIM1_MspDeInit 1 */
122
123  /* USER CODE END TIM1_MspDeInit 1 */
124  }
125} 
126
127/* USER CODE BEGIN 1 */
128
129/* USER CODE END 1 */
130
131/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Note: See TracBrowser for help on using the repository browser.