Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
stm32:peripherals:systick [2016/03/04 13:39] – [CTRL] feurstm32:peripherals:systick [2022/12/27 17:53] (current) – [VAL] ruan
Line 1: Line 1:
 ====== System Tick Timer ====== ====== System Tick Timer ======
 +
 +The STM32F429ZI offers a 24 bit system tick timer. It is a simple down counter. \\
 +The system tick timer counts down from the reload value to zero and generates an interrupt. \\
  
 \\ {{systick_complete.svg}} \\ \\ \\ {{systick_complete.svg}} \\ \\
Line 5: Line 8:
 ===== Registers ===== ===== Registers =====
  
-==== CTRL ==== +==== CTRL Control and status register ====
- +
-Control and status register+
  
 \\ {{systick_reg_ctrl.svg}} \\ \\ \\ {{systick_reg_ctrl.svg}} \\ \\
Line 19: Line 20:
 |:::|1|Systick clock => f<sub>HCLK</sub>| |:::|1|Systick clock => f<sub>HCLK</sub>|
  
-==== LOAD ==== +==== LOAD - Reload value register ====
- +
-Reload value register+
  
 \\ {{systick_reg_load.svg}} \\ \\ \\ {{systick_reg_load.svg}} \\ \\
Line 27: Line 26:
 * Reload value of SysTick timer. * Reload value of SysTick timer.
  
-==== VAL ==== +==== VAL - Current value register ====
- +
-Current value register+
  
 \\ {{systick_reg_val.svg}} \\ \\ \\ {{systick_reg_val.svg}} \\ \\
  
 * Current value of SysTick timer. * Current value of SysTick timer.
 +
 +===== Programming Example =====
 +
 +<code c>
 +#include "reg_stm32f4xx.h"
 +
 +STK->CTRL = (0x3 << 1u);             /* Set clock and interrupt. */
 +STK->LOAD = 84000u;                  /* Set reload value: 84 MHz / 84000 -> 1 ms. */
 +STK->CTRL |= (0x1 << 0u);            /* Enable timer. */
 +
 +void SysTick_Handler(void)
 +{
 +    /* Handler for SysTick interrupt. */
 +}
 +</code>
 +\\
  • stm32/peripherals/systick.1457098776.txt.gz
  • Last modified: 2016/03/04 13:39
  • by feur