<?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>S12 / MagniV MicrocontrollersのトピックRe: MC9S12XDP512 - Question about Modulus down Counter!!</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12XDP512-Question-about-Modulus-down-Counter/m-p/132527#M1719</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;The MODMC bit in MCCTL decides if the counter is reloaded automatically or not.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 03 May 2007 21:09:37 GMT</pubDate>
    <dc:creator>Steve</dc:creator>
    <dc:date>2007-05-03T21:09:37Z</dc:date>
    <item>
      <title>MC9S12XDP512 - Question about Modulus down Counter!!</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12XDP512-Question-about-Modulus-down-Counter/m-p/132525#M1717</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi all,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I am using the Modulus downcounter in the ECT of S12X MCU.&lt;/DIV&gt;&lt;DIV&gt;I use it in the non-modulus mode i.e. I load the counter with a desired value.&lt;/DIV&gt;&lt;DIV&gt;and give the prescale value.&lt;/DIV&gt;&lt;DIV&gt;In my program I want to use the timer consecutively.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The problem is the counter counts down to 0000 for the first time. but never start counting the second time even though i load the counter value again.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;would anybody explain this?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Karthick&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 May 2007 16:29:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12XDP512-Question-about-Modulus-down-Counter/m-p/132525#M1717</guid>
      <dc:creator>embedlov</dc:creator>
      <dc:date>2007-05-03T16:29:30Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12XDP512 - Question about Modulus down Counter!!</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12XDP512-Question-about-Modulus-down-Counter/m-p/132526#M1718</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Looks like either yet another errata or poor documentation. Old pre-S12 parts had quite different Module Down Counter.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;In S12X (at least 0L15Y) and S12 (D64, DG128 and probably all other S12):&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;After reset MCCNT shows FFFF in counter. MCZF flasg is cleared. Writing 4 to MCCTL (MCEN=1, MODMC=0) enables the Modulo Down Counter (MDC) and&amp;nbsp;immediately makes it counting down to zero. After counter reaches 0 MCZF flag gets set. Writes&amp;nbsp;to MCCNT do update the load register but counter doesn't start. To make it counting one should write '1' to FLMC bit.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;In 912D60(A) and 912DG128(A)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;After reset MCCNT also&amp;nbsp;shows FFFF in the counter. MCZF flag is cleared. Writing 4 to MCCTL (MCEN=1, MODMC=0) enables the MDC but doesn't make it counting. To make it counting&amp;nbsp;one should write to MCCNT register or '1' to FLMC bit (MCCTL register).&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>Thu, 03 May 2007 18:11:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12XDP512-Question-about-Modulus-down-Counter/m-p/132526#M1718</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2007-05-03T18:11:08Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12XDP512 - Question about Modulus down Counter!!</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12XDP512-Question-about-Modulus-down-Counter/m-p/132527#M1719</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;The MODMC bit in MCCTL decides if the counter is reloaded automatically or not.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 May 2007 21:09:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12XDP512-Question-about-Modulus-down-Counter/m-p/132527#M1719</guid>
      <dc:creator>Steve</dc:creator>
      <dc:date>2007-05-03T21:09:37Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12XDP512 - Question about Modulus down Counter!!</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12XDP512-Question-about-Modulus-down-Counter/m-p/132528#M1720</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Yes, MODMC decides if the counter is reloaded automatically or not. And MODMC=0 is what could be called "non-modulus" ((c) OPs message)&amp;nbsp;mode. Docs say that MODMC=1 is "Modulus mode is enabled", so I think that non-modulus is MODMC=0. Also OP says: "but never start counting the second time even though i load the counter value again.". This is exactly what I saw today in 9S12DG128 and 9S12XDT256 chips: when MODMC=0 it's impossible to make counter running again by writing to MCCNT. D60A allowed to make counter running again by writing to MCCNT.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 May 2007 01:15:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12XDP512-Question-about-Modulus-down-Counter/m-p/132528#M1720</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2007-05-04T01:15:20Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12XDP512 - Question about Modulus down Counter!!</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12XDP512-Question-about-Modulus-down-Counter/m-p/132529#M1721</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kef,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thankx for your help and comments, now I tryed to compile to it with the new compiler S12X 4.7.12 ( new lkf File, vector_s12x, crtsx.s and MAKEFILE) and load the elf File with the Indart on.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;
 CLR_BIT(MCCTL,MCEN); //Modulus Down-counter EnableSET_BIT(MCCTL,MODMC);//Modulus Mode enableSET_BIT(MCCTL,RDMCL);//Read Modulus Down-Counter LoadSET_BIT(MCCTL,MCEN); //Modulus Down-counter EnableSET_BIT(MCCTL,FLMC);// Starte der CounterMCCNT = 12000;//(T_UI16)(FCPU/TASK_SUPERFASTTIMER);SET_BIT(MCCTL,MCZI);//Modulus Counter Underflow Interrupt Enable&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;in the ISR, I clear the Interrupt Flag&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;
CLR_FLAG(MCFLG, MCZF);&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;the Problem is that the ISR allways called only one time,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I dont know, if there is a problem with the debuger indart one because, when I try to load the S19 file, I become the&amp;nbsp; warning: Error while writing to 7F4000..7F4200. Information: No memory at this address.&lt;/P&gt;&lt;P&gt;I think it s a problem with my const section:&lt;/P&gt;&lt;P&gt;+seg .const&amp;nbsp; -b 0x7F4000 -o 0x4000 -n .const&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;the vector address is defined in the lkf file as bellow:&lt;/P&gt;&lt;P&gt;+seg .vector -b 0x7FFF10 -o 0xFF10 # vectors start address in der Firmware&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thanks for help&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>Thu, 25 Jun 2009 15:56:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12XDP512-Question-about-Modulus-down-Counter/m-p/132529#M1721</guid>
      <dc:creator>firefox005</dc:creator>
      <dc:date>2009-06-25T15:56:35Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12XDP512 - Question about Modulus down Counter!!</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12XDP512-Question-about-Modulus-down-Counter/m-p/132530#M1722</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There are some differemces between old MC912D60A and newer S12 and S12X, but nonmodulus mode works on all parts. Differences from memory are&amp;nbsp;these:&lt;/P&gt;&lt;P&gt;1. On S12/S12X downcount starts immediately&amp;nbsp;after you write 4 (MODMC = 0, MCEN = 1)&amp;nbsp;to MDC control register. On D60A downcount didn't start until you write to MCCNT.&lt;/P&gt;&lt;P&gt;2. On D60A it was enough to write to upper/lower byte of MCCNT. To start countdown on S12/S12X, you should write 16bits word to&amp;nbsp;MCCNT at once&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sample code&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;//Initialize MDC&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#define ModulusMode&amp;nbsp;0&amp;nbsp; // *0- non-modulus mode, single shot countdown&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;// *1- modulus mode, periodic countdown&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; MCCTL =&amp;nbsp;&amp;nbsp; MCCTL_MCZI_MASK&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; // interrupts enable&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MCCTL_MODMC_MASK *ModulusMode&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;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | MCCTL_MCEN_MASK&amp;nbsp; *1&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 MDC&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | 0&amp;nbsp; // prescaler&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;void interrupt VectorNumber_Vtimmdcu MDCU_ISR(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // clear flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp; MCFLG = MCFLG_MCZF_MASK;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;#if !ModulusMode&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // in non-modulus mode, write new countdown value&lt;BR /&gt;&amp;nbsp;&amp;nbsp; MCCNT = 20000;&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; PORTB ^= 0x80; // toggle the LED&amp;nbsp;&amp;nbsp;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And regarding you trouble&amp;nbsp;&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;Error while writing to 7F4000..7F4200. Information: No memory at this address.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;I'm not familiar with Cosmic&amp;nbsp;and Softec, but&amp;nbsp;sounds like Softec is trying to program something else than S12XD family member. Didn't you mix S12XD with S12D?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="message-edit-history"&gt;&lt;SPAN class="edit-author"&gt;Message Edited by kef on&lt;/SPAN&gt; &lt;SPAN class="local-date"&gt;2009-06-29&lt;/SPAN&gt; &lt;SPAN class="local-time"&gt;04:50 PM&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 29 Jun 2009 20:45:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12XDP512-Question-about-Modulus-down-Counter/m-p/132530#M1722</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2009-06-29T20:45:55Z</dc:date>
    </item>
  </channel>
</rss>

