1 <!-- HTML header for doxygen 1.9.6-->
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
5 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6 <meta http-equiv="X-UA-Compatible" content="IE=11"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>CMSIS-Core (Cortex-M): Systick Timer (SYSTICK)</title>
9 <link href="doxygen.css" rel="stylesheet" type="text/css"/>
10 <link href="tabs.css" rel="stylesheet" type="text/css"/>
11 <link href="extra_navtree.css" rel="stylesheet" type="text/css"/>
12 <link href="extra_stylesheet.css" rel="stylesheet" type="text/css"/>
13 <link href="extra_search.css" rel="stylesheet" type="text/css"/>
14 <script type="text/javascript" src="jquery.js"></script>
15 <script type="text/javascript" src="dynsections.js"></script>
16 <script type="text/javascript" src="printComponentTabs.js"></script>
17 <script type="text/javascript" src="footer.js"></script>
18 <script type="text/javascript" src="navtree.js"></script>
19 <link href="navtree.css" rel="stylesheet" type="text/css"/>
20 <script type="text/javascript" src="resize.js"></script>
21 <script type="text/javascript" src="navtreedata.js"></script>
22 <script type="text/javascript" src="navtree.js"></script>
23 <link href="search/search.css" rel="stylesheet" type="text/css"/>
24 <script type="text/javascript" src="search/searchdata.js"></script>
25 <script type="text/javascript" src="search/search.js"></script>
26 <script type="text/javascript">
27 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
28 $(document).ready(function() { init_search(); });
31 <script type="text/javascript" src="darkmode_toggle.js"></script>
32 <link href="extra_stylesheet.css" rel="stylesheet" type="text/css"/>
33 <link href="extra_navtree.css" rel="stylesheet" type="text/css"/>
34 <link href="extra_search.css" rel="stylesheet" type="text/css"/>
35 <link href="version.css" rel="stylesheet" type="text/css" />
36 <script type="text/javascript" src="../../../version.js"></script>
39 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
41 <table cellspacing="0" cellpadding="0">
43 <tr style="height: 55px;">
44 <td id="projectlogo" style="padding: 1.5em;"><img alt="Logo" src="cmsis_logo_white_small.png"/></td>
45 <td style="padding-left: 1em; padding-bottom: 1em;padding-top: 1em;">
46 <div id="projectname">CMSIS-Core (Cortex-M)
47  <span id="projectnumber"><script type="text/javascript">
49 writeHeader.call(this);
50 writeVersionDropdown.call(this);
55 <div id="projectbrief">CMSIS-Core support for Cortex-M processor-based devices</div>
57 <td> <div id="MSearchBox" class="MSearchBoxInactive">
59 <span id="MSearchSelect" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()"> </span>
60 <input type="text" id="MSearchField" value="" placeholder="Search" accesskey="S"
61 onfocus="searchBox.OnSearchFieldFocus(true)"
62 onblur="searchBox.OnSearchFieldFocus(false)"
63 onkeyup="searchBox.OnSearchFieldChange(event)"/>
64 </span><span class="right">
65 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.svg" alt=""/></a>
69 <!--END !PROJECT_NAME-->
74 <!-- end header part -->
75 <div id="CMSISnav" class="tabs1">
77 <script type="text/javascript">
78 writeComponentTabs.call(this);
82 <script type="text/javascript">
83 writeSubComponentTabs.call(this);
85 <!-- Generated by Doxygen 1.9.6 -->
86 <script type="text/javascript">
87 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
88 var searchBox = new SearchBox("searchBox", "search/",'.html');
92 <div id="side-nav" class="ui-resizable side-nav-resizable">
94 <div id="nav-tree-contents">
95 <div id="nav-sync" class="sync"></div>
98 <div id="splitbar" style="-moz-user-select:none;"
99 class="ui-resizable-handle">
102 <script type="text/javascript">
103 /* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
104 $(document).ready(function(){initNavTree('group__SysTick__gr.html',''); initResizable(); });
107 <div id="doc-content">
108 <!-- window showing the filter options -->
109 <div id="MSearchSelectWindow"
110 onmouseover="return searchBox.OnSearchSelectShow()"
111 onmouseout="return searchBox.OnSearchSelectHide()"
112 onkeydown="return searchBox.OnSearchSelectKey(event)">
115 <!-- iframe showing the search results (closed by default) -->
116 <div id="MSearchResultsWindow">
117 <div id="MSearchResults">
120 <div id="SRResults"></div>
121 <div class="SRStatus" id="Loading">Loading...</div>
122 <div class="SRStatus" id="Searching">Searching...</div>
123 <div class="SRStatus" id="NoMatches">No Matches</div>
130 <div class="summary">
131 <a href="#func-members">Functions</a> </div>
132 <div class="headertitle"><div class="title">Systick Timer (SYSTICK)</div></div>
134 <div class="contents">
136 <p>Initialize and start the SysTick timer.
137 <a href="#details">More...</a></p>
138 <table class="memberdecls">
139 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
140 Functions</h2></td></tr>
141 <tr class="memitem:gabe47de40e9b0ad465b752297a9d9f427"><td class="memItemLeft" align="right" valign="top">uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__SysTick__gr.html#gabe47de40e9b0ad465b752297a9d9f427">SysTick_Config</a> (uint32_t ticks)</td></tr>
142 <tr class="memdesc:gabe47de40e9b0ad465b752297a9d9f427"><td class="mdescLeft"> </td><td class="mdescRight">System Tick Timer Configuration. <br /></td></tr>
143 <tr class="separator:gabe47de40e9b0ad465b752297a9d9f427"><td class="memSeparator" colspan="2"> </td></tr>
145 <a name="details" id="details"></a><h2 class="groupheader">Description</h2>
146 <p>Initialize and start the SysTick timer. </p>
147 <p>The System Tick Time (SysTick) generates interrupt requests on a regular basis. This allows an OS to carry out context switching to support multiple tasking. For applications that do not require an OS, the SysTick can be used for time keeping, time measurement, or as an interrupt source for tasks that need to be executed regularly.</p>
148 <h1><a class="anchor" id="SysTick_code_ex_sec"></a>
149 Code Example <br></h1>
150 <p>The code below shows the usage of the function <a class="el" href="group__SysTick__gr.html#gabe47de40e9b0ad465b752297a9d9f427" title="System Tick Timer Configuration.">SysTick_Config()</a> with an LPC1700.</p>
151 <div class="fragment"><div class="line"><span class="preprocessor">#include "LPC17xx.h"</span></div>
152 <div class="line"> </div>
153 <div class="line"><span class="keyword">volatile</span> uint32_t msTicks = 0; <span class="comment">/* Variable to store millisecond ticks */</span></div>
154 <div class="line"> </div>
155 <div class="line"><span class="keywordtype">void</span> SysTick_Handler(<span class="keywordtype">void</span>) { <span class="comment">/* SysTick interrupt Handler. */</span></div>
156 <div class="line"> msTicks++; <span class="comment">/* See startup file startup_LPC17xx.s for SysTick vector */</span> </div>
157 <div class="line">}</div>
158 <div class="line"> </div>
159 <div class="line"><span class="keywordtype">int</span> main (<span class="keywordtype">void</span>) {</div>
160 <div class="line"> uint32_t returnCode;</div>
161 <div class="line"> </div>
162 <div class="line"> returnCode = <a class="code hl_function" href="group__SysTick__gr.html#gabe47de40e9b0ad465b752297a9d9f427">SysTick_Config</a>(<a class="code hl_variable" href="group__system__init__gr.html#gaa3cd3e43291e81e795d642b79b6088e6">SystemCoreClock</a> / 1000); <span class="comment">/* Configure SysTick to generate an interrupt every millisecond */</span></div>
163 <div class="line"> </div>
164 <div class="line"> <span class="keywordflow">if</span> (returnCode != 0) { <span class="comment">/* Check return code for errors */</span></div>
165 <div class="line"> <span class="comment">// Error Handling </span></div>
166 <div class="line"> }</div>
167 <div class="line"> </div>
168 <div class="line"> <span class="keywordflow">while</span>(1);</div>
169 <div class="line">}</div>
170 <div class="ttc" id="agroup__SysTick__gr_html_gabe47de40e9b0ad465b752297a9d9f427"><div class="ttname"><a href="group__SysTick__gr.html#gabe47de40e9b0ad465b752297a9d9f427">SysTick_Config</a></div><div class="ttdeci">uint32_t SysTick_Config(uint32_t ticks)</div><div class="ttdoc">System Tick Timer Configuration.</div></div>
171 <div class="ttc" id="agroup__system__init__gr_html_gaa3cd3e43291e81e795d642b79b6088e6"><div class="ttname"><a href="group__system__init__gr.html#gaa3cd3e43291e81e795d642b79b6088e6">SystemCoreClock</a></div><div class="ttdeci">uint32_t SystemCoreClock</div><div class="ttdoc">Variable to hold the system core clock value.</div><div class="ttdef"><b>Definition:</b> Ref_SystemAndClock.txt:68</div></div>
172 </div><!-- fragment --> <h2 class="groupheader">Function Documentation</h2>
173 <a id="gabe47de40e9b0ad465b752297a9d9f427" name="gabe47de40e9b0ad465b752297a9d9f427"></a>
174 <h2 class="memtitle"><span class="permalink"><a href="#gabe47de40e9b0ad465b752297a9d9f427">◆ </a></span>SysTick_Config()</h2>
176 <div class="memitem">
177 <div class="memproto">
178 <table class="memname">
180 <td class="memname">uint32_t SysTick_Config </td>
182 <td class="paramtype">uint32_t </td>
183 <td class="paramname"><em>ticks</em></td><td>)</td>
187 </div><div class="memdoc">
189 <p>System Tick Timer Configuration. </p>
190 <p>Initialises and starts the System Tick Timer and its interrupt. After this call, the SysTick timer creates interrupts with the specified time interval. Counter is in free running mode to generate periodical interrupts. <br />
192 <dl class="params"><dt>Parameters</dt><dd>
193 <table class="params">
194 <tr><td class="paramdir">[in]</td><td class="paramname">ticks</td><td>Number of ticks between two interrupts</td></tr>
198 <dl class="section return"><dt>Returns</dt><dd>0 - success </dd>
200 1 - failure</dd></dl>
201 <dl class="section note"><dt>Note</dt><dd>When <a class="el" href="group__device__config.html#gab58771b4ec03f9bdddc84770f7c95c68">__Vendor_SysTickConfig</a> is defined to 1, the standard function <b>SysTick_Config</b> is excluded. In this case, the <a class="el" href="device_h_pg.html">Device Header File <device.h></a> must contain a vendor specific implementation of this function. </dd></dl>
205 </div><!-- contents -->
206 </div><!-- doc-content -->
207 <!-- start footer part -->
208 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
211 <script type="text/javascript">
213 writeFooter.call(this);