<?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: pls take a look at this SysTick Function in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/pls-take-a-look-at-this-SysTick-Function/m-p/555605#M13772</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by black_ghost on Sat Oct 15 17:10:19 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: StephenHawkings&lt;/STRONG&gt;&lt;BR /&gt;If your SysTick counts every 10ms, then with 6MHz it counts to 0.01s / 0.167us = 60.000. If you want to count every 10ms for 100MHz, it needs to count to 0.01s / 0.01us = 1.000.000.&lt;BR /&gt; &lt;BR /&gt; void SysTick_Wait10ms(unsigned long delay){&lt;BR /&gt;unsigned long i;&lt;BR /&gt;for(i=0; i&amp;lt;delay; i++){&lt;BR /&gt;SysTick_Wait(60000); // wait 10ms (assumes 6 MHz clock)&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;would be &lt;BR /&gt;SysTick_Wait(1000000); // wait 10ms (assumes 100 MHz clock)&lt;BR /&gt; &lt;BR /&gt;But I think you should check for the interrupts; I can't see any ISR for SysTick. But INT is enabled.&lt;BR /&gt; &lt;BR /&gt;Please check, SysTick counting speed is in collaboration with CPU clock and prescaler.&lt;BR /&gt;SH&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ok but how i will go about using the interrupts could you please show me the right direction or a good explanation and i could go from there. thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 23:32:01 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T23:32:01Z</dc:date>
    <item>
      <title>pls take a look at this SysTick Function</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/pls-take-a-look-at-this-SysTick-Function/m-p/555603#M13770</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by black_ghost on Thu Oct 13 14:17:54 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello i am trying to use the systick as a delay function for my lcd but i have trouble understanding why and how she define the core clock to 6mhz. I want to use the clock and run it as 100mhz core clock. i found an example code but have trouble understanding it. below is the code. i want to define the core clock to run as 100mhz and not 6mhz.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define NVIC_ST_CTRL_R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (*((volatile unsigned long *)0xE000E010))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define NVIC_ST_RELOAD_R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (*((volatile unsigned long *)0xE000E014))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define NVIC_ST_CURRENT_R&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (*((volatile unsigned long *)0xE000E018))&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define NVIC_ST_CTRL_COUNT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00010000&amp;nbsp; // Count flag&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define NVIC_ST_CTRL_CLK_SRC&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000004&amp;nbsp; // Clock Source&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define NVIC_ST_CTRL_INTEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000002&amp;nbsp; // Interrupt enable&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define NVIC_ST_CTRL_ENABLE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000001&amp;nbsp; // Counter mode&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define NVIC_ST_RELOAD_M&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00FFFFFF&amp;nbsp; // Counter load value&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// Initialize SysTick with busy wait running at bus clock.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void SysTick_Init(void){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; NVIC_ST_CTRL_R = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // disable SysTick during setup&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; NVIC_ST_RELOAD_R = NVIC_ST_RELOAD_M;&amp;nbsp; // maximum reload value&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; NVIC_ST_CURRENT_R = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // any write to current clears it&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // enable SysTick with core clock&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; NVIC_ST_CTRL_R = NVIC_ST_CTRL_ENABLE+NVIC_ST_CTRL_CLK_SRC;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// Time delay using busy wait.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// The delay parameter is in units of the 6 MHz core clock. (167 nsec)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void SysTick_Wait(unsigned long delay){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; volatile unsigned long elapsedTime;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; unsigned long startTime = NVIC_ST_CURRENT_R;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; do{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; elapsedTime = (startTime-NVIC_ST_CURRENT_R)&amp;amp;0x00FFFFFF;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; while(elapsedTime &amp;lt;= delay);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void SysTick_Wait10ms(unsigned long delay){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; unsigned long i;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; for(i=0; i&amp;lt;delay; i++){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SysTick_Wait(60000);&amp;nbsp; // wait 10ms (assumes 6 MHz clock)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:31:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/pls-take-a-look-at-this-SysTick-Function/m-p/555603#M13770</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:31:59Z</dc:date>
    </item>
    <item>
      <title>Re: pls take a look at this SysTick Function</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/pls-take-a-look-at-this-SysTick-Function/m-p/555604#M13771</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by StephenHawkings on Fri Oct 14 01:19:03 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;If your SysTick counts every 10ms, then with 6MHz it counts to 0.01s / 0.167us = 60.000. If you want to count every 10ms for 100MHz, it needs to count to 0.01s / 0.01us = 1.000.000.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; void SysTick_Wait10ms(unsigned long delay){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned long i;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for(i=0; i&amp;lt;delay; i++){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SysTick_Wait(60000); // wait 10ms (assumes 6 MHz clock)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;would be &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SysTick_Wait(1000000); // wait 10ms (assumes 100 MHz clock)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But I think you should check for the interrupts; I can't see any ISR for SysTick. But INT is enabled.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Please check, SysTick counting speed is in collaboration with CPU clock and prescaler.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SH&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:32:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/pls-take-a-look-at-this-SysTick-Function/m-p/555604#M13771</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:32:00Z</dc:date>
    </item>
    <item>
      <title>Re: pls take a look at this SysTick Function</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/pls-take-a-look-at-this-SysTick-Function/m-p/555605#M13772</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by black_ghost on Sat Oct 15 17:10:19 MST 2011&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: StephenHawkings&lt;/STRONG&gt;&lt;BR /&gt;If your SysTick counts every 10ms, then with 6MHz it counts to 0.01s / 0.167us = 60.000. If you want to count every 10ms for 100MHz, it needs to count to 0.01s / 0.01us = 1.000.000.&lt;BR /&gt; &lt;BR /&gt; void SysTick_Wait10ms(unsigned long delay){&lt;BR /&gt;unsigned long i;&lt;BR /&gt;for(i=0; i&amp;lt;delay; i++){&lt;BR /&gt;SysTick_Wait(60000); // wait 10ms (assumes 6 MHz clock)&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;would be &lt;BR /&gt;SysTick_Wait(1000000); // wait 10ms (assumes 100 MHz clock)&lt;BR /&gt; &lt;BR /&gt;But I think you should check for the interrupts; I can't see any ISR for SysTick. But INT is enabled.&lt;BR /&gt; &lt;BR /&gt;Please check, SysTick counting speed is in collaboration with CPU clock and prescaler.&lt;BR /&gt;SH&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ok but how i will go about using the interrupts could you please show me the right direction or a good explanation and i could go from there. thanks&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:32:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/pls-take-a-look-at-this-SysTick-Function/m-p/555605#M13772</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:32:01Z</dc:date>
    </item>
  </channel>
</rss>

