1 | //Init Funktion:
|
2 | static void MX_TIM2_Init(void)
|
3 | {
|
4 |
|
5 | /* USER CODE BEGIN TIM2_Init 0 */
|
6 |
|
7 | /* USER CODE END TIM2_Init 0 */
|
8 |
|
9 | TIM_MasterConfigTypeDef sMasterConfig = {0};
|
10 | TIM_OC_InitTypeDef sConfigOC = {0};
|
11 |
|
12 | /* USER CODE BEGIN TIM2_Init 1 */
|
13 |
|
14 | /* USER CODE END TIM2_Init 1 */
|
15 | htim2.Instance = TIM2;
|
16 | htim2.Init.Prescaler = 31;
|
17 | htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
|
18 | htim2.Init.Period = 65535;
|
19 | htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
20 | htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
21 | if (HAL_TIM_OC_Init(&htim2) != HAL_OK)
|
22 | {
|
23 | Error_Handler();
|
24 | }
|
25 | if (HAL_TIM_OnePulse_Init(&htim2, TIM_OPMODE_SINGLE) != HAL_OK)
|
26 | {
|
27 | Error_Handler();
|
28 | }
|
29 | sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
|
30 | sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
31 | if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
|
32 | {
|
33 | Error_Handler();
|
34 | }
|
35 | sConfigOC.OCMode = TIM_OCMODE_ACTIVE;
|
36 | sConfigOC.Pulse = 1500;
|
37 | sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
|
38 | sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
39 | if (HAL_TIM_OC_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
|
40 | {
|
41 | Error_Handler();
|
42 | }
|
43 | /* USER CODE BEGIN TIM2_Init 2 */
|
44 |
|
45 | /* USER CODE END TIM2_Init 2 */
|
46 |
|
47 | }
|
48 |
|
49 | //Main
|
50 | void main()
|
51 | {
|
52 | ...
|
53 |
|
54 | //Start des Timers:
|
55 | HAL_TIM_OC_Start_IT(&htim2,TIMER_CHANNEL_1);
|
56 | TIM2->CCR1 = 25000;
|
57 |
|
58 | ...
|
59 | }
|
60 |
|
61 | //Callback
|
62 | void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim)
|
63 | {
|
64 | if(htim->Instance == TIM2)
|
65 | {
|
66 | TIM2->CR1 &= ~TIM_CR1_CEN; //This re-enables the One-Shot Timer
|
67 | TIM2->CR1 |= TIM_CR1_CEN;
|
68 |
|
69 | /************/
|
70 | /* Debug */
|
71 | /************/
|
72 | HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_12);
|
73 |
|
74 | }
|
75 |
|
76 | }
|