Timer
Libraries:
STM32 Microcontroller Blockset /
STM32F1xx Based Boards
STM32 Microcontroller Blockset /
STM32F2xx Based Boards
STM32 Microcontroller Blockset /
STM32F3xx Based Boards
STM32 Microcontroller Blockset /
STM32F4xx Based Boards
STM32 Microcontroller Blockset /
STM32F7xx Based Boards
STM32 Microcontroller Blockset /
STM32G0xx Based Boards
STM32 Microcontroller Blockset /
STM32G4xx Based Boards
STM32 Microcontroller Blockset /
STM32H5xx Based Boards
STM32 Microcontroller Blockset /
STM32H7xx Based Boards
STM32 Microcontroller Blockset /
STM32L4xx Based Boards
STM32 Microcontroller Blockset /
STM32L5xx Based Boards
STM32 Microcontroller Blockset /
STM32U5xx Based Boards
STM32 Microcontroller Blockset /
STM32WBxx Based Boards
Description
Starts timer counter and provides the current counter value as output for the selected timer module. Also enables the interrupts selected in configuration parameters.
Counter is started during model initialization only when Start Timer during
model initialization parameter is selected in the configuration
parameters.
To start/stop the counter in runtime, deselect the Start Timer during model
initialization parameter in the configuration parameters and select
Enable input to enable/disable timer option in the block. An
input of 1 to the corresponding input port will start the counter and
0 will stop the counter.
Examples
Signal Monitoring and Parameter Tuning of Generated PWM Output
Generate PWM signals on an STM32 processor-based board and tune parameters in real time using External mode.
Using Hardware Interrupt Block to Create an ISR on STMicroelectronics STM32 Processor Based Boards
Use a Hardware Interrupt block to create an interrupt service routine (ISR) in the generated code for STM32™ Microcontroller Blockset.
Get Started with STMicroelectronics STM32 Processor Based Boards
Run a Simulink model on STM32 processor.
Ports
Input
The input at this port determines the frequency of the counter. This value is written directly to the auto reload register.
The frequency count for 32 bit timers is between 0
to 0xFFFFFFFF and for 16 bit timers is between
0 to 0xFFFF.
Dependencies
To enable this port, select the Enable frequency input parameter.
Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double
Use this port to enable or disable the timer counter. Set the port to one of these values.
0- Disable counter1- Enable counter
Dependencies
To enable this port, select the Enable input to enable/disable timer parameter.
Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double
This main output enable (MOE) bit is cleared asynchronously by the hardware as soon as the break input is active.
If input is 1, then the MOE bit is set as
1.
Dependencies
To enable this port, select the Enable main output enable (MOE) input parameter.
Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double
Use this port to generate an update event. When you specify a value of
1, the port generates an update event.
Dependencies
To enable this port, select the Enable update generation event input parameter.
Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double
Use this port to generate capture compare generation event. When you
specify a value of 1, the port generates an capture
compare event.
Dependencies
To enable this port, select the Enable capture compare # generation event input parameter.
Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double
Use this port to generate trigger event. When you specify a value of
1, the port generates an trigger event.
Dependencies
To enable this port, select the Enable trigger generation event input parameter.
Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double
Use this port to generate break generation event. When you specify a
value of 1, the port generates an break generation
event.
Dependencies
To enable this port, select the Enable break generation event input parameter.
Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double
Use this port to generate break 2 generation event. When you specify a
value of 1, the port generates an break 2 generation
event and MOE status is cleared.
Dependencies
To enable this port, select the Enable break generation 2 event input parameter.
Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double
Use this port to generate capture compare control update generation
event. When you specify a value of 1, the port
generates capture compare control update generation.
Dependencies
To enable this port, select the Enable COM generation event input parameter.
Data Types: Boolean | uint16 | uint32 | int8 | uint8 | int16 | int32 | uint64 | int64 | single | double
Output
The counter port provides the current timer counter values as output for the selected timer module.
Data Types: uint32
The block outputs the current direction of the timer counter as one of the following:
0 - Up counter
1 - Down counter
Dependencies
To enable this port, select the Enable timer counter direction output parameter.
Data Types: Boolean
Status of the main output enable (MOE) bit.
Dependencies
To enable this port, select the Enable main output enable (MOE) status output parameter.
Data Types: Boolean
Parameters
Main
Select the timer module. Number of timer module available will vary for different processors.
Note
Ensure that Timer module is also configured
in the STM32CubeMX project.
Programmatic Use
Block Parameter:
TimerModule |
By default, the Start timer during model
initialization parameter is enabled in configuration
parameter. This starts the Timer Counter during model
initialization.
If you want to start the timer counter during run time, disable the
Start timer during model initialization parameter
in configuration parameter.
Note
If both Enable input to enable/disable timer
parameter (block) and Start timer during
model initialization (Configuration Parameter)
parameters are not enabled, the timer counter will not be
started.
Programmatic Use
Block Parameter:
EnableCounterInput |
Enable this parameter to set the main output enable (MOE) bit to recover from a break.
Dependencies
To enable this parameter, set the Timer
module parameter to either TIM1,
TIM8, TIM8,
TIM16, TIM17, or
TIM20.
Programmatic Use
Block Parameter:
EnableMainOutputInput |
Enable this parameter to set the AutoReload register (ARR) value of the timer during runtime.
Programmatic Use
Block Parameter:
EnableFrequencyInput |
For odd values in the repetition counter, the update event occurs on underflow or overflow depending on when you set the repetition counter.
By default, the block sets repetition counter before you enable the timer counter, so an update event occurs on underflow.
If you enable this parameter, the block sets repetition counter after you enable the time counter, so an update events occur on overflow.
Dependencies
To enable this parameter, set the Timer
module parameter to either TIM1,
TIM8, TIM8,
TIM16, TIM17, or
TIM20.
Programmatic Use
Block Parameter:
SetRCAfterCE |
Enable this parameter to output the current direction of the timer counter.
Programmatic Use
Block Parameter:
OutputDirection |
Enable this parameter to output the main output enable (MOE) bit status.
Dependencies
To enable this parameter, set the Timer
module parameter to either TIM1,
TIM8, TIM8,
TIM16, TIM17, or
TIM20.
Programmatic Use
Block Parameter:
OutputMainOutputEnableStatus |
Events
Enable this parameter to generate an update event through input port.
Programmatic Use
Block Parameter:
EnableUpdateEvent |
Enable this parameter to generate a capture compare event through the input port.
Dependencies
The number of Enable capture compare # generation event input parameters available depends on the module you select in the Timer module.
Programmatic Use
Block Parameter:
EnableCaptureCompare1Event |
EnableCaptureCompare2Event |
EnableCaptureCompare3Event |
EnableCaptureCompare4Event |
Enable this parameter to generate a trigger event through the input port.
Programmatic Use
Block Parameter:
EnableTriggerEvent |
Enable this parameter to generate a break event through the input port.
Dependencies
To enable this parameter, set the Timer
module parameter to any one of the module
TIM1, TIM8,
TIM8, TIM16,
TIM17, or TIM20.
Programmatic Use
Block Parameter:
EnableBreakEvent |
Enable this parameter to generate a break 2 event through the input port.
Dependencies
To enable this parameter, set the Timer
module parameter to any one of the module
TIM1, TIM8,
TIM8, TIM16,
TIM17, or TIM20.
Programmatic Use
Block Parameter:
EnableBreakEvent2 |
Enable this parameter to generate a capture compare event through the input port.
Dependencies
To enable this parameter, set the Timer
module parameter to any one of the module
TIM1, TIM8,
TIM8, TIM16,
TIM17, or TIM20.
Programmatic Use
Block Parameter:
EnableCOMGenerationEvent |
Specify how often (in seconds) the status of enabled output ports are read if no input ports are selected. Enter a value greater than zero. When you specify this parameter as -1, Simulink® determines the best sample time for the block based on the block context within the model.
Dependencies
To enable the Sample time parameter, deselect all the input ports.
Programmatic Use
Block Parameter:
SampleTime |
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Version History
Introduced in R2022b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)



