<?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>8-bit MicrocontrollersのトピックRe: Timer question on MC9S08DZ60</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Timer-question-on-MC9S08DZ60/m-p/165640#M10458</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That did it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 29 Nov 2010 06:03:15 GMT</pubDate>
    <dc:creator>Denikar</dc:creator>
    <dc:date>2010-11-29T06:03:15Z</dc:date>
    <item>
      <title>Timer question on MC9S08DZ60</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Timer-question-on-MC9S08DZ60/m-p/165638#M10456</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to setup a general purpose timer on the MC9S08DZ60.&amp;nbsp; I do not want it tied to pin control as I have the pins assigned to other non-timer related I/O.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below is a snippet of my code:&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;#define&amp;nbsp;&amp;nbsp; &amp;nbsp;TPM1CH0IRQTIME&amp;nbsp;&amp;nbsp; &amp;nbsp;400&amp;nbsp;&amp;nbsp; &amp;nbsp;// Set timer 1 freq to 100us&lt;BR /&gt;&lt;BR /&gt;...&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Setup timer status and control register A&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;b6 = 0 TOIE disable overflow interrupts&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;b5 = 0 CPWMS no PWM mode&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;b4:b3 CLKSB:CLKSA = 01 sets clock source to bus clock&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;b2:b0 PS2&lt;A href="http://freescale.i.lithium.com/i/smilies/16x16_smiley-tongue.gif"&gt;&lt;IMG alt=":smileytongue:" class="emoticon emoticon-smileytongue" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-tongue.gif" title="Smiley Tongue" /&gt;&lt;/A&gt;S0 = 000 sets prescale to divide by 1 */&lt;BR /&gt;&amp;nbsp; TPM1SC = 0x08;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Enable irq on timer 1 channel 0&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Edge level bits set to 00&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;MSB MSA bits set to 00 */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;TPM1C0SC = 0x40;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Setup initial irq trigger time on timer 1 ch 0 */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;TPM1C0V = TPM1CNT + TPM1CH0IRQTIME;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Clear any pending timer interrupts */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;TPM1SC &amp;amp;= 0x7F; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;TPM2SC &amp;amp;= 0x7F; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;TPM1C0SC &amp;amp;= 0x7F; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;TPM1C1SC &amp;amp;= 0x7F; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;TPM1C2SC &amp;amp;= 0x7F; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;TPM1C3SC &amp;amp;= 0x7F; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;TPM1C4SC &amp;amp;= 0x7F; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;TPM1C5SC &amp;amp;= 0x7F; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;TPM2C0SC &amp;amp;= 0x7F; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;TPM2C1SC &amp;amp;= 0x7F; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;...&lt;BR /&gt;&lt;BR /&gt;@interrupt void tpm1ch0_irq(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Timer 1 channel 0 interrupt service routine&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Used to generate system base time&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Increments free running counter every 100us */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Clear timer irq flag */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;TPM1C0SC &amp;amp;= 0x7F; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;TPM1C0V = TPM1CNT + TPM1CH0IRQTIME;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Reset trigger time */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;t100us++;&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;/* Increment 100us timer */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if(t100us &amp;gt;= 10)&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Every 1ms (10*100us)&amp;nbsp; */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;/* Increment the free running 1msec counter, let it overflow */&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;ulFreeRunningCounter++;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;if(ulFreeRunningCounter == 0)&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;uwOverflowCounter++;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* Overflow occurred, inc counter */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;t100us = 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;/* Reset t100us timer */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&lt;BR /&gt;}&amp;nbsp;&amp;nbsp; &amp;nbsp;/* end tpm1ch0_irq */&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Problem is the irq will not fire at all.&amp;nbsp; Any ideas as to why?&amp;nbsp; Please note I am clearing the main interrupt flag (via CLI) prior to starting the main routine.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 28 Nov 2010 23:36:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Timer-question-on-MC9S08DZ60/m-p/165638#M10456</guid>
      <dc:creator>Denikar</dc:creator>
      <dc:date>2010-11-28T23:36:04Z</dc:date>
    </item>
    <item>
      <title>Re: Timer question on MC9S08DZ60</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Timer-question-on-MC9S08DZ60/m-p/165639#M10457</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Enable irq on timer 1 channel 0&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Edge level bits set to 00&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;MSB MSA bits set to 00 */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;TPM1C0SC = 0x40;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;MSB:MSA = 0:0 is input capture mode. You need output compare mode with timer channel not connected to pin. Output compare mode is selected when&amp;nbsp; MSB:MSA=0:1 and&amp;nbsp; ELSB:ELSA=0:0 disconnects pin from timer.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Nov 2010 02:29:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Timer-question-on-MC9S08DZ60/m-p/165639#M10457</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2010-11-29T02:29:15Z</dc:date>
    </item>
    <item>
      <title>Re: Timer question on MC9S08DZ60</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/Timer-question-on-MC9S08DZ60/m-p/165640#M10458</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That did it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Nov 2010 06:03:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/Timer-question-on-MC9S08DZ60/m-p/165640#M10458</guid>
      <dc:creator>Denikar</dc:creator>
      <dc:date>2010-11-29T06:03:15Z</dc:date>
    </item>
  </channel>
</rss>

