<?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: Trouble resetting Periodic Interrupt Timer (PIT) in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Trouble-resetting-Periodic-Interrupt-Timer-PIT/m-p/154148#M346</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think that you may need to write to the &lt;STRONG&gt;LDVAL&lt;/STRONG&gt; register when the PIT is disabled so that it restarts.&lt;/P&gt;&lt;P&gt;This is an extract from the PIT code from the uTasker project which can be used as a single-shot / retriggerable or periodic timer - it was necessary to disable operation if its value was to be reset/retriggered - without this it doesn't react.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;if (PIT_settings-&amp;gt;mode &amp;amp; (PIT_SINGLE_SHOT | PIT_RETRIGGER)) {&amp;nbsp; // single shot always behaves as retriggerable - periodic change at next timeout by default but can be forced with PIT_RETRIGGER&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; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptrCtl-&amp;gt;PIT_TCTRL = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; // disable PIT so that it can be retriggered if needed&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ptrCtl-&amp;gt;PIT_LDVAL = PIT_settings-&amp;gt;count_delay;&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; // load interval value&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ptrCtl-&amp;gt;PIT_TFLG&amp;nbsp; = PIT_TFLG_TIF;&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; // clear pending interrupts&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ptrCtl-&amp;gt;PIT_TCTRL = ulCommand;&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; // start PIT with interrupt enabled, when handler defined&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.uTasker.com"&gt;http://www.uTasker.com&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 26 Oct 2012 23:51:33 GMT</pubDate>
    <dc:creator>mjbcswitzerland</dc:creator>
    <dc:date>2012-10-26T23:51:33Z</dc:date>
    <item>
      <title>Trouble resetting Periodic Interrupt Timer (PIT)</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Trouble-resetting-Periodic-Interrupt-Timer-PIT/m-p/154147#M345</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I’m trying to synchronize this timer module with another time source. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;According to the documentation, I can restart this timer by simply disabling and re-enabling it. I've set a break point immediately before and after the code listed below. I don’t think this is working as intended because the timer’s Current Value is decremented slightly and nowhere near the Reload Value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #444444; font-size: 10.0pt; font-family: 'Courier New';"&gt;PIT_TCTRL_REG&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: #444444;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt; PIT_BASE_PTR, 0 &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: #444444;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt; &amp;amp;= ~PIT_TCTRL_TEN_SHIFT; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #444444; font-size: 10.0pt; font-family: 'Courier New';"&gt;PIT_TCTRL_REG&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: #444444;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt; PIT_BASE_PTR, 0 &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: #444444;"&gt;)&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt; |=&amp;nbsp; PIT_TCTRL_TEN_SHIFT;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 10pt;"&gt;Note: I’m &lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New';"&gt;referencing&lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New'; font-size: 10pt;"&gt; Figure 38-23 of the Document K10P144M100SF2RM Rev. 6, Nov 2011&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; font-family: 'Courier New'; color: black;"&gt;Please let me know if you have any suggestions.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Oct 2012 15:21:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Trouble-resetting-Periodic-Interrupt-Timer-PIT/m-p/154147#M345</guid>
      <dc:creator>ignisuti</dc:creator>
      <dc:date>2012-10-26T15:21:23Z</dc:date>
    </item>
    <item>
      <title>Re: Trouble resetting Periodic Interrupt Timer (PIT)</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Trouble-resetting-Periodic-Interrupt-Timer-PIT/m-p/154148#M346</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think that you may need to write to the &lt;STRONG&gt;LDVAL&lt;/STRONG&gt; register when the PIT is disabled so that it restarts.&lt;/P&gt;&lt;P&gt;This is an extract from the PIT code from the uTasker project which can be used as a single-shot / retriggerable or periodic timer - it was necessary to disable operation if its value was to be reset/retriggered - without this it doesn't react.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;if (PIT_settings-&amp;gt;mode &amp;amp; (PIT_SINGLE_SHOT | PIT_RETRIGGER)) {&amp;nbsp; // single shot always behaves as retriggerable - periodic change at next timeout by default but can be forced with PIT_RETRIGGER&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; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptrCtl-&amp;gt;PIT_TCTRL = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp; // disable PIT so that it can be retriggered if needed&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ptrCtl-&amp;gt;PIT_LDVAL = PIT_settings-&amp;gt;count_delay;&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; // load interval value&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ptrCtl-&amp;gt;PIT_TFLG&amp;nbsp; = PIT_TFLG_TIF;&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; // clear pending interrupts&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ptrCtl-&amp;gt;PIT_TCTRL = ulCommand;&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; // start PIT with interrupt enabled, when handler defined&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.uTasker.com"&gt;http://www.uTasker.com&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Oct 2012 23:51:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Trouble-resetting-Periodic-Interrupt-Timer-PIT/m-p/154148#M346</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2012-10-26T23:51:33Z</dc:date>
    </item>
  </channel>
</rss>

