<?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>ColdFire/68K Microcontrollers and ProcessorsのトピックPin Toggeling MCF5485</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Pin-Toggeling-MCF5485/m-p/143756#M2734</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Commuity,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;i am new to the Coldfire and try to toggel a pin as fast as possible.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The pin toggeling wasn't faster then ~1 Mhz.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I use the Cobra5485 board(from sentec) and thought that the toggling speed should be much faster.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;here the source i used to toggel the pins.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there no way to toggel the pins faster?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I use the gcc crosscompiler.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define IPSBAR 0x10000000&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PAR_PCS3 (IPSBAR + 0xA4C)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PAR_PCS2 (IPSBAR + 0xA4D)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PAR_PCS1 (IPSBAR + 0xA4E)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PDDR_PSC3PSC2 (IPSBAR + 0xA1C)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PDDR_PSC1PSC0 (IPSBAR + 0xA1D)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PODR_PSC3PSC2 (IPSBAR + 0xA0C)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PODR_PSC1PSC0 (IPSBAR + 0xA0D)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int main(void );&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void __main(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;main();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;int main(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int iCount;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned char ucPortMask;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// set Ports to digital I/O:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(*(unsigned char *)(PAR_PCS3)) = 0x00;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(*(unsigned char *)(PAR_PCS2)) = 0x00;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(*(unsigned char *)(PAR_PCS1)) = 0x00;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// set Ports as outputs:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(*(unsigned char *)(PDDR_PSC3PSC2)) = 0x3F;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(*(unsigned char *)(PDDR_PSC1PSC0)) = 0xC0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// switch the leds off:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*(unsigned char *)(PODR_PSC3PSC2) = 0x3F;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*(unsigned char *)(PODR_PSC1PSC0) = 0xC0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ucPortMask = 0x01;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;iCount=0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*(unsigned char *)(PODR_PSC3PSC2) = 0x3F;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while(1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if(iCount==1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*(unsigned char *)(PODR_PSC1PSC0) = (unsigned char)0x01;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;iCount=0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{*&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(unsigned char *)(PODR_PSC1PSC0) = (unsigned char)0xC0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;iCount=1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;return(0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;kind regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;marek&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sun, 28 Jan 2007 22:38:33 GMT</pubDate>
    <dc:creator>marek</dc:creator>
    <dc:date>2007-01-28T22:38:33Z</dc:date>
    <item>
      <title>Pin Toggeling MCF5485</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Pin-Toggeling-MCF5485/m-p/143756#M2734</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi Commuity,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;i am new to the Coldfire and try to toggel a pin as fast as possible.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The pin toggeling wasn't faster then ~1 Mhz.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I use the Cobra5485 board(from sentec) and thought that the toggling speed should be much faster.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;here the source i used to toggel the pins.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there no way to toggel the pins faster?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I use the gcc crosscompiler.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define IPSBAR 0x10000000&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PAR_PCS3 (IPSBAR + 0xA4C)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PAR_PCS2 (IPSBAR + 0xA4D)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PAR_PCS1 (IPSBAR + 0xA4E)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PDDR_PSC3PSC2 (IPSBAR + 0xA1C)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PDDR_PSC1PSC0 (IPSBAR + 0xA1D)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PODR_PSC3PSC2 (IPSBAR + 0xA0C)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PODR_PSC1PSC0 (IPSBAR + 0xA0D)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int main(void );&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void __main(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;main();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;int main(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;int iCount;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned char ucPortMask;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// set Ports to digital I/O:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(*(unsigned char *)(PAR_PCS3)) = 0x00;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(*(unsigned char *)(PAR_PCS2)) = 0x00;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(*(unsigned char *)(PAR_PCS1)) = 0x00;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// set Ports as outputs:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(*(unsigned char *)(PDDR_PSC3PSC2)) = 0x3F;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(*(unsigned char *)(PDDR_PSC1PSC0)) = 0xC0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;// switch the leds off:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*(unsigned char *)(PODR_PSC3PSC2) = 0x3F;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*(unsigned char *)(PODR_PSC1PSC0) = 0xC0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;ucPortMask = 0x01;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;iCount=0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*(unsigned char *)(PODR_PSC3PSC2) = 0x3F;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;while(1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;if(iCount==1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;*(unsigned char *)(PODR_PSC1PSC0) = (unsigned char)0x01;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;iCount=0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{*&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(unsigned char *)(PODR_PSC1PSC0) = (unsigned char)0xC0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;iCount=1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;return(0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;kind regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;marek&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 28 Jan 2007 22:38:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Pin-Toggeling-MCF5485/m-p/143756#M2734</guid>
      <dc:creator>marek</dc:creator>
      <dc:date>2007-01-28T22:38:33Z</dc:date>
    </item>
    <item>
      <title>Re: Pin Toggeling MCF5485</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Pin-Toggeling-MCF5485/m-p/143757#M2735</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Well, in order to toggle a pin, it is very convenient to use the XOR function, like:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;while (1)&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;PORTB ^= 0x01;&amp;nbsp; //toggles the bit 0 of portb&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;this should be the fastest in C.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Paolo.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Mar 2007 18:43:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Pin-Toggeling-MCF5485/m-p/143757#M2735</guid>
      <dc:creator>Ciumbia</dc:creator>
      <dc:date>2007-03-12T18:43:46Z</dc:date>
    </item>
  </channel>
</rss>

