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

Last change on this file since 9 was 6, checked in by f.jahn, 8 months ago
File size: 4.2 KB
Line 
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.