Welcome to mirror list, hosted at ThFree Co, Russian Federation.

readme.txt « TIM_OnePulse « TIM « Examples « P-NUCLEO-WB55.Nucleo « Projects - github.com/Flipper-Zero/STM32CubeWB.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: e660de6fe348ffbec31556c19841cb23b20c7bfd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/**
  @page TIM_OnePulse TIM One Pulse example
  
  @verbatim
  ******************************************************************************
  * @file    TIM/TIM_OnePulse/readme.txt 
  * @author  MCD Application Team
  * @brief   Description of the TIM One Pulse example.      
  ******************************************************************************
  *
  * Copyright (c) 2019-2021 STMicroelectronics.
  * All rights reserved.
  *
  * This software is licensed under terms that can be found in the LICENSE file
  * in the root directory of this software component.
  * If no LICENSE file comes with this software, it is provided AS-IS.
  *
  ******************************************************************************
  @endverbatim

@par Example Description 

Use of the TIM peripheral to generate a single pulse when 
an external signal rising edge is received on the timer input pin.

Clock setup for TIM2
================================

  TIM2CLK = SystemCoreClock = 64 MHz.
  
  Prescaler = (TIM2CLK /TIM2 counter clock) - 1
  
  The prescaler value is computed in order to have TIM2 counter clock 
  set at 1000000 Hz.
  
  The Autoreload value is 65535 (TIM2->ARR), so the maximum frequency value to 
  trigger the TIM2 input is 1000000/65535 [Hz].
 
Configuration of TIM2 in One Pulse Mode
===================================================
 
  - The external signal is connected to TIM2_CH2 pin (PA.01), 
    and a rising edge on this input is used to trigger the Timer.
  - The One Pulse signal is output on TIM2_CH1 (PA.00).

  The delay value is fixed to:
   - Delay =  CCR1/TIM2 counter clock 
           = 16383 / 1000000 [sec]
           
  The pulse value is fixed to : 
   - Pulse value = (TIM_Period - TIM_Pulse)/TIM2 counter clock  
                 = (65535 - 16383) / 1000000 [sec]

  The one pulse waveform can be displayed using an oscilloscope and it looks
  like this.
  
                               ____
                               |   |
  CH2 _________________________|   |__________________________________________
 
                                             ___________________________
                                            |                           |
  CH1 ______________________________________|                           |_____
                               <---Delay----><------Pulse--------------->
  
@par Keywords

Timer, Output, signals, One Pulse, PWM, Oscilloscope, External signal, Autoreload, Waveform

@par Directory contents 

  - TIM/TIM_OnePulse/Inc/stm32wbxx_hal_conf.h    HAL configuration file
  - TIM/TIM_OnePulse/Inc/stm32wbxx_it.h          Interrupt handlers header file
  - TIM/TIM_OnePulse/Inc/main.h                  Header for main.c module  
  - TIM/TIM_OnePulse/Src/stm32wbxx_it.c          Interrupt handlers
  - TIM/TIM_OnePulse/Src/main.c                  Main program
  - TIM/TIM_OnePulse/Src/stm32wbxx_hal_msp.c     HAL MSP file
  - TIM/TIM_OnePulse/Src/system_stm32wbxx.c      STM32WBxx system source file


@par Hardware and Software environment

   - This example runs on STM32WB55xx devices.
   - In this example, the clock is set to 64 MHz.
    
  - This example has been tested with P-NUCLEO-WB55 board and can be
    easily tailored to any other supported device and development board.

  - P-NUCLEO-WB55 Set-up
   - Connect the external signal to the TIM2_CH2 pin (PA.01) (pin 32 in CN7 connector)
   - Connect the TIM2_CH1 pin(PA.00) (pin 34 in CN7 connector) to an oscilloscope to monitor the waveform.  


@par How to use it ? 

In order to make the program work, you must do the following :
 - Open your preferred toolchain
 - Rebuild all files and load your image into target memory
 - Run the example

 * <h3><center>&copy; COPYRIGHT STMicroelectronics</center></h3>
 */