<?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: MC9S08QE128 internal clock</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08QE128-internal-clock/m-p/153657#M8616</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;Hello Marc,&lt;BR /&gt;thank you for answer. I calculate the cycles and then I get the result of 2MHz.&lt;BR /&gt;&lt;BR /&gt;Is there a way to measure the internal clock frequenzy?&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://forums.freescale.com/post?board.id=8BITCOMM&amp;amp;message.reply_to_id=7734#" rel="nofollow" target="_blank"&gt;&lt;IMG alt="Submit Post" border="0" src="http://forums.freescale.com/../i/skins/freescale/freescale-submitbutton.gif" /&gt;&lt;/A&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 08 Oct 2007 20:43:51 GMT</pubDate>
    <dc:creator>MicMoba</dc:creator>
    <dc:date>2007-10-08T20:43:51Z</dc:date>
    <item>
      <title>MC9S08QE128 internal clock</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08QE128-internal-clock/m-p/153655#M8614</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;last week I got the new chip (MC9S08WE128). The datasheet says that the internal clock can be configured up to 20MHz.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So I set up the ICS and toggle a port but I can only measure 2MHz. Why?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Has anybody a explanation?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 1;"&gt;#include &amp;lt;hidef.h&amp;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; /* for EnableInterrupts macro */&lt;BR /&gt;#include "derivative.h"&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; /* include peripheral declarations */&lt;BR /&gt;#include "DEMOQE128_Quick_Start.h"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* include variable declarations */&lt;BR /&gt;&lt;BR /&gt;#define clrSetReg8Bits(RegName, ClrMask, SetMask)&amp;nbsp; (RegName = (RegName &amp;amp; (~(byte)(ClrMask))) | (byte)(SetMask))&lt;BR /&gt;#define setReg8(RegName, val)&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; (RegName = (byte)(val))&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;void InitSystems() {&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; SOPT1&amp;nbsp; = 0x23;&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; // Disable COP,RSTO, enable STOP,BKGD,RESET&lt;BR /&gt;&amp;nbsp; SOPT2&amp;nbsp; = 0x00;&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; // SPI1 on PTB2/3/4/5, IIC1 on PTA2/3&lt;BR /&gt;&amp;nbsp; SPMSC1 = 0x00;&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; // Disable LVD&lt;BR /&gt;&amp;nbsp; SPMSC2 = 0x00;&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; // Disable power-down modes&lt;BR /&gt;&amp;nbsp; SPMSC3 = 0x00;&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; // Disable LVWIE, low trip points&lt;BR /&gt;&amp;nbsp; SCGC1&amp;nbsp; = 0xFF;&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 bus clock to peripherals&lt;BR /&gt;&amp;nbsp; SCGC2&amp;nbsp; = 0xFF;&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 bus clock to peripherals&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; /*&amp;nbsp; System clock initialization */&lt;BR /&gt;&amp;nbsp; /* ICSC1: CLKS=0,RDIV=0,IREFS=1,IRCLKEN=1,IREFSTEN=0 */&lt;BR /&gt;&amp;nbsp; setReg8(ICSC1, 0x06);&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; /* Initialization of the ICS control register 1 */&lt;BR /&gt;&amp;nbsp; /* ICSC2: BDIV=0,RANGE=0,HGO=0,LP=0,EREFS=0,ERCLKEN=0,EREFSTEN=0 */&lt;BR /&gt;&amp;nbsp; setReg8(ICSC2, 0x00);&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; /* Initialization of the ICS control register 2 */&lt;BR /&gt;&amp;nbsp; while(!ICSSC_IREFST) {&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; /* Wait until the source of reference clock is internal clock */&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; /* ICSSC: DRST_DRS=2,DMX32=1 */&lt;BR /&gt;&amp;nbsp; ICSSC = 0xA1;&lt;BR /&gt;} // end InitSystems&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;/************************&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Main Program Loop&lt;BR /&gt;************************/&lt;BR /&gt;void main(void) {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; InitSystems();&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; PTCD_PTCD0&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp; PTCDD_PTCDD0 = 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; // Turn ON PTC0 LED&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; while(1)&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTCTOG_PTCTOG0&amp;nbsp;&amp;nbsp; = 1;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;}&lt;BR /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Michael&lt;/SPAN&gt;&lt;BR /&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Oct 2007 19:26:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08QE128-internal-clock/m-p/153655#M8614</guid>
      <dc:creator>MicMoba</dc:creator>
      <dc:date>2007-10-08T19:26:27Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08QE128 internal clock</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08QE128-internal-clock/m-p/153656#M8615</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Hello Michael,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;It would appear that each pass through the while loop takes 5 bus cycles to complete, and for each output cycle there&amp;nbsp;needs to be two passes through the loop.&amp;nbsp; To verify this, you will need to examine the assembly code generated during compile, and then consider the number of cycles required by each assembly instruction.&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Regards,&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;Mac&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT size="2"&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Oct 2007 20:05:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08QE128-internal-clock/m-p/153656#M8615</guid>
      <dc:creator>bigmac</dc:creator>
      <dc:date>2007-10-08T20:05:39Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08QE128 internal clock</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08QE128-internal-clock/m-p/153657#M8616</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;Hello Marc,&lt;BR /&gt;thank you for answer. I calculate the cycles and then I get the result of 2MHz.&lt;BR /&gt;&lt;BR /&gt;Is there a way to measure the internal clock frequenzy?&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://forums.freescale.com/post?board.id=8BITCOMM&amp;amp;message.reply_to_id=7734#" rel="nofollow" target="_blank"&gt;&lt;IMG alt="Submit Post" border="0" src="http://forums.freescale.com/../i/skins/freescale/freescale-submitbutton.gif" /&gt;&lt;/A&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Oct 2007 20:43:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08QE128-internal-clock/m-p/153657#M8616</guid>
      <dc:creator>MicMoba</dc:creator>
      <dc:date>2007-10-08T20:43:51Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08QE128 internal clock</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08QE128-internal-clock/m-p/153658#M8617</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi,&lt;/DIV&gt;&lt;DIV&gt;If you measure the speed of something, it is convienent to use&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;for (;&lt;IMG alt=":smileywink:" class="emoticon emoticon-smileywink" id="smileywink" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif" title="Smiley Wink" /&gt;&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTCD_PTCD0 = 1;//5&amp;nbsp;cycles&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTCD_PTCD0 = 0; //5 cycles&lt;BR /&gt;&amp;nbsp; } //3 cycles&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;The&amp;nbsp;&amp;nbsp;PTCD_PTCD0 instruction is translated to&lt;/DIV&gt;&lt;DIV&gt;bset&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTCD_PTCD0,PTCD //5 clocks&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;That makes 13 cycles. If your code runs at 2 MHz, * 13 = 26 MHz.&lt;/DIV&gt;&lt;DIV&gt;Thats not bad!&lt;/DIV&gt;&lt;DIV&gt;(I tried it on your software.)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Ake&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Oct 2007 22:24:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08QE128-internal-clock/m-p/153658#M8617</guid>
      <dc:creator>Ake</dc:creator>
      <dc:date>2007-10-08T22:24:41Z</dc:date>
    </item>
  </channel>
</rss>

