<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: FRDM-MCXN947 sysTick basic in MCX Microcontrollers</title>
    <link>https://community.nxp.com/t5/MCX-Microcontrollers/FRDM-MCXN947-sysTick-basic/m-p/1837560#M180</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;As you know that the systick module interrupt period is dependent on the driving clock and SysTick Reload Value Register, which functions as a divider&lt;/P&gt;
&lt;P&gt;systick period=driving_clock/Reload_Value&lt;/P&gt;
&lt;P&gt;Peripheral Configuration tools can adjust the Reload_Value in SysTick Reload Value Register based on the driving clock so that it can get the constant period you has defined.&lt;/P&gt;
&lt;P&gt;I suppose that you can call the function directly which set the SysTick Reload Value Register and enable the systick:&lt;/P&gt;
&lt;DIV style="background-color: #ffffff; padding: 0px 0px 0px 2px;"&gt;
&lt;DIV style="color: #000000; background-color: #ffffff; font-family: 'Consolas'; font-size: 10pt; white-space: pre;"&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;__STATIC_INLINE &lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;SysTick_Config&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt; ticks)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; ((ticks - 1UL) &amp;gt; SysTick_LOAD_RELOAD_Msk)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;return&lt;/SPAN&gt;&lt;SPAN&gt; (1UL); &lt;/SPAN&gt;&lt;SPAN&gt;/* Reload value impossible */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; SysTick-&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;LOAD&lt;/SPAN&gt;&lt;SPAN&gt; = (&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt;)(ticks - 1UL); &lt;/SPAN&gt;&lt;SPAN&gt;/* set reload register */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; NVIC_SetPriority (&lt;/SPAN&gt;&lt;SPAN&gt;SysTick_IRQn&lt;/SPAN&gt;&lt;SPAN&gt;, (1UL &amp;lt;&amp;lt; __NVIC_PRIO_BITS) - 1UL); &lt;/SPAN&gt;&lt;SPAN&gt;/* set Priority for &lt;/SPAN&gt;&lt;SPAN&gt;Systick&lt;/SPAN&gt;&lt;SPAN&gt; Interrupt */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; SysTick-&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;VAL&lt;/SPAN&gt;&lt;SPAN&gt; = 0UL; &lt;/SPAN&gt;&lt;SPAN&gt;/* Load the SysTick Counter Value */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; SysTick-&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;CTRL&lt;/SPAN&gt;&lt;SPAN&gt; = SysTick_CTRL_CLKSOURCE_Msk |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; SysTick_CTRL_TICKINT_Msk |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; SysTick_CTRL_ENABLE_Msk; &lt;/SPAN&gt;&lt;SPAN&gt;/* Enable SysTick IRQ and SysTick Timer */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;return&lt;/SPAN&gt;&lt;SPAN&gt; (0UL); &lt;/SPAN&gt;&lt;SPAN&gt;/* Function successful */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;This is systick module clock source:&lt;/SPAN&gt;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="xiangjun_rong_0-1711679372832.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/271029i37122D839713904C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="xiangjun_rong_0-1711679372832.png" alt="xiangjun_rong_0-1711679372832.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;Hope it can help you&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;BR&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;XiangJun Rong&lt;/SPAN&gt;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
    <pubDate>Fri, 29 Mar 2024 02:30:37 GMT</pubDate>
    <dc:creator>xiangjun_rong</dc:creator>
    <dc:date>2024-03-29T02:30:37Z</dc:date>
    <item>
      <title>FRDM-MCXN947 sysTick basic</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/FRDM-MCXN947-sysTick-basic/m-p/1837220#M178</link>
      <description>&lt;P&gt;Today I start to play with sysTick() Timer and trying to make simple code to generate simple output signal&lt;/P&gt;&lt;P&gt;simplest code possible:&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Ekrano kopija 2024-03-28 120609.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/270956i3948355144D18872/image-size/large?v=v2&amp;amp;px=999" role="button" title="Ekrano kopija 2024-03-28 120609.png" alt="Ekrano kopija 2024-03-28 120609.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and problem is no matter how much I changing clock frequency value (12Mhz or 150Mhz)output signal is all time the same (interrupt period) ~827kHz.&lt;/P&gt;&lt;P&gt;clock selection from default values at config tools:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="Ekrano kopija 2024-03-28 120635.png" style="width: 999px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/270957i7C14C8991A21F0D6/image-size/large?v=v2&amp;amp;px=999" role="button" title="Ekrano kopija 2024-03-28 120635.png" alt="Ekrano kopija 2024-03-28 120635.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;what i am doing wrong?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 28 Mar 2024 10:15:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/FRDM-MCXN947-sysTick-basic/m-p/1837220#M178</guid>
      <dc:creator>saulius1005</dc:creator>
      <dc:date>2024-03-28T10:15:01Z</dc:date>
    </item>
    <item>
      <title>Re: FRDM-MCXN947 sysTick basic</title>
      <link>https://community.nxp.com/t5/MCX-Microcontrollers/FRDM-MCXN947-sysTick-basic/m-p/1837560#M180</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;As you know that the systick module interrupt period is dependent on the driving clock and SysTick Reload Value Register, which functions as a divider&lt;/P&gt;
&lt;P&gt;systick period=driving_clock/Reload_Value&lt;/P&gt;
&lt;P&gt;Peripheral Configuration tools can adjust the Reload_Value in SysTick Reload Value Register based on the driving clock so that it can get the constant period you has defined.&lt;/P&gt;
&lt;P&gt;I suppose that you can call the function directly which set the SysTick Reload Value Register and enable the systick:&lt;/P&gt;
&lt;DIV style="background-color: #ffffff; padding: 0px 0px 0px 2px;"&gt;
&lt;DIV style="color: #000000; background-color: #ffffff; font-family: 'Consolas'; font-size: 10pt; white-space: pre;"&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;__STATIC_INLINE &lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt; &lt;SPAN&gt;SysTick_Config&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt; ticks)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; ((ticks - 1UL) &amp;gt; SysTick_LOAD_RELOAD_Msk)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;return&lt;/SPAN&gt;&lt;SPAN&gt; (1UL); &lt;/SPAN&gt;&lt;SPAN&gt;/* Reload value impossible */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; SysTick-&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;LOAD&lt;/SPAN&gt;&lt;SPAN&gt; = (&lt;/SPAN&gt;&lt;SPAN&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN&gt;)(ticks - 1UL); &lt;/SPAN&gt;&lt;SPAN&gt;/* set reload register */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; NVIC_SetPriority (&lt;/SPAN&gt;&lt;SPAN&gt;SysTick_IRQn&lt;/SPAN&gt;&lt;SPAN&gt;, (1UL &amp;lt;&amp;lt; __NVIC_PRIO_BITS) - 1UL); &lt;/SPAN&gt;&lt;SPAN&gt;/* set Priority for &lt;/SPAN&gt;&lt;SPAN&gt;Systick&lt;/SPAN&gt;&lt;SPAN&gt; Interrupt */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; SysTick-&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;VAL&lt;/SPAN&gt;&lt;SPAN&gt; = 0UL; &lt;/SPAN&gt;&lt;SPAN&gt;/* Load the SysTick Counter Value */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; SysTick-&amp;gt;&lt;/SPAN&gt;&lt;SPAN&gt;CTRL&lt;/SPAN&gt;&lt;SPAN&gt; = SysTick_CTRL_CLKSOURCE_Msk |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; SysTick_CTRL_TICKINT_Msk |&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt; SysTick_CTRL_ENABLE_Msk; &lt;/SPAN&gt;&lt;SPAN&gt;/* Enable SysTick IRQ and SysTick Timer */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;return&lt;/SPAN&gt;&lt;SPAN&gt; (0UL); &lt;/SPAN&gt;&lt;SPAN&gt;/* Function successful */&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;This is systick module clock source:&lt;/SPAN&gt;&lt;/P&gt;
&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="xiangjun_rong_0-1711679372832.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/271029i37122D839713904C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="xiangjun_rong_0-1711679372832.png" alt="xiangjun_rong_0-1711679372832.png" /&gt;&lt;/span&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;Hope it can help you&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;BR&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="margin: 0;"&gt;&lt;SPAN&gt;XiangJun Rong&lt;/SPAN&gt;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Fri, 29 Mar 2024 02:30:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MCX-Microcontrollers/FRDM-MCXN947-sysTick-basic/m-p/1837560#M180</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2024-03-29T02:30:37Z</dc:date>
    </item>
  </channel>
</rss>

