<?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>CodeWarrior for MCUのトピックRe: ECT_TCNT Random in Debugger</title>
    <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/ECT-TCNT-Random-in-Debugger/m-p/205496#M7906</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Okay I realise that I made a mistake with thinking that TSCR2[PR2&lt;IMG alt=":smileytongue:" class="emoticon emoticon-smileytongue" id="smileytongue" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-tongue.gif" title="Smiley Tongue" /&gt;R0] Multiplied with PTPSR.&amp;nbsp; It is wither one or the other.&amp;nbsp; I have now rectified that error.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;However, the TCNT word in the debugger jumps by counts of 30,000 or more each single step of the assembler.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I would think that most assembler instructions only take one or two clock pluses and therefore the TCNT registers should only step by 1 or 2 also, assuming no prescalar.&amp;nbsp; I would think that a prescalr would make you have to do 2,4,8 etc: assembler steps to see a step in the TCNT register.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;What Am I doing wrong?&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 26 Nov 2008 14:56:26 GMT</pubDate>
    <dc:creator>Destroy</dc:creator>
    <dc:date>2008-11-26T14:56:26Z</dc:date>
    <item>
      <title>ECT_TCNT Random in Debugger</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/ECT-TCNT-Random-in-Debugger/m-p/205495#M7905</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hello,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;When I single step my program and watch the TCNT Word in the debugger, it changers by great amounts, like 30,000 steps at a time, even when I assembler step it.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;It should change by two steps for each assembler step at the absolute maximum.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I am running 16x32 division through TSCR2 and PTPSR so I would expect the pulses to take many single steps.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;What is happening?&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;My PLL is working fine as I can generate known frequencies on the ECLK pin.&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Also this is causing continuous interrupts and the flags are always set.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;However when I run it on the processor, it runs nearly as expected, except it is out by a factor of 8 to what my expected period is.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;This is my Init routine...&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;**********************************************************&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;void ECT_Init(void){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ECT_TSCR1 = 0x98;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/ // turn Counter on and enable precision timer.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ECT_TSCR2 = 0x04;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Divide by 16&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ECT_PTPSR = 0x1F;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Divide by 32&amp;nbsp;&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Bus Freq (80Mhz) Divided by (16*32) = 156,250hz&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ECT_TIOS |= 0x01;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Set IOS0 as Output Compare&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ECT_TCTL2 |= 0x01;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Set Output Compare 0 to toggle&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ECT_TIE = 0x01;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Set OC0 and OC1 to allow interrupts&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ECT_TC0 = ECT_TCNT + 0x0870;&amp;nbsp;&amp;nbsp; // Load first compare value 216 degrees&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;interrupt void ISR_MakeCrankSignal (void){&amp;nbsp; // ECT0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int CmpVal = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ECT_TFLG1 = 0x01;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Clear Flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (CAS_Pos == 1){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CmpVal = CAS_PW;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (CAS_Pos == 2){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CmpVal = CAS_PW*4;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (CAS_Pos == 3){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CmpVal = CAS_PW*2;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (CAS_Pos == 4){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CmpVal = CAS_PW*3;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ECT_TC0 += CmpVal;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAS_Pos = CAS_Pos + 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (CAS_Pos == 5){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAS_Pos = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;**********************************************************&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Nov 2008 13:35:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/ECT-TCNT-Random-in-Debugger/m-p/205495#M7905</guid>
      <dc:creator>Destroy</dc:creator>
      <dc:date>2008-11-26T13:35:13Z</dc:date>
    </item>
    <item>
      <title>Re: ECT_TCNT Random in Debugger</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/ECT-TCNT-Random-in-Debugger/m-p/205496#M7906</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Okay I realise that I made a mistake with thinking that TSCR2[PR2&lt;IMG alt=":smileytongue:" class="emoticon emoticon-smileytongue" id="smileytongue" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-tongue.gif" title="Smiley Tongue" /&gt;R0] Multiplied with PTPSR.&amp;nbsp; It is wither one or the other.&amp;nbsp; I have now rectified that error.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;However, the TCNT word in the debugger jumps by counts of 30,000 or more each single step of the assembler.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I would think that most assembler instructions only take one or two clock pluses and therefore the TCNT registers should only step by 1 or 2 also, assuming no prescalar.&amp;nbsp; I would think that a prescalr would make you have to do 2,4,8 etc: assembler steps to see a step in the TCNT register.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;What Am I doing wrong?&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Nov 2008 14:56:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/ECT-TCNT-Random-in-Debugger/m-p/205496#M7906</guid>
      <dc:creator>Destroy</dc:creator>
      <dc:date>2008-11-26T14:56:26Z</dc:date>
    </item>
    <item>
      <title>Re: ECT_TCNT Random in Debugger</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/ECT-TCNT-Random-in-Debugger/m-p/205497#M7907</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;When you single step or stop on breakpoint, TCNT keeps running. Try setting &lt;FONT face="Times New Roman"&gt;TSFRZ bit and see what happens.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Nov 2008 19:38:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/ECT-TCNT-Random-in-Debugger/m-p/205497#M7907</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2008-11-26T19:38:44Z</dc:date>
    </item>
    <item>
      <title>Re: ECT_TCNT Random in Debugger</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/ECT-TCNT-Random-in-Debugger/m-p/205498#M7908</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Thank You very much, that was exactly it, that was doing my head in yesturday.&amp;nbsp; It works as expected now. &lt;IMG alt=":smileyhappy:" class="emoticon emoticon-smileyhappy" id="smileyhappy" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-happy.gif" title="Smiley Happy" /&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 27 Nov 2008 06:02:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/ECT-TCNT-Random-in-Debugger/m-p/205498#M7908</guid>
      <dc:creator>Destroy</dc:creator>
      <dc:date>2008-11-27T06:02:34Z</dc:date>
    </item>
  </channel>
</rss>

