<?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>topic Re: SPI simulation MC9S08AW32 in Classic/Legacy CodeWarrior</title>
    <link>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/SPI-simulation-MC9S08AW32/m-p/151599#M2128</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Looks like a simulator problem. &amp;nbsp;Everything worked fine on actual hardware.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 05 Nov 2009 22:59:31 GMT</pubDate>
    <dc:creator>bfehrenbach</dc:creator>
    <dc:date>2009-11-05T22:59:31Z</dc:date>
    <item>
      <title>SPI simulation MC9S08AW32</title>
      <link>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/SPI-simulation-MC9S08AW32/m-p/151598#M2127</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am trying to use the SPI port to send bits to a serial in, parallel out LED driver. &amp;nbsp;I want to send 4 bytes, stored in a long: "current_status". &amp;nbsp;SPI data coming back is ignored. &amp;nbsp;My timer heartbeat clears a counter and enables the transmitter buffer empty interrupt of the SPI every 10 ms. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The SPI interrupt service routine:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;__interrupt void isrVspi1(void)&lt;/P&gt;&lt;P&gt;{ &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;uint8 temp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;temp = SPI1S; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Clear interrupt request&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SPI1D = current_status.u_8[update_counter]; &amp;nbsp; &amp;nbsp;// Send next byte&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;update_counter++; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if(update_counter &amp;gt;=3)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SPI1C1_SPTIE = 0; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Disable SPI interrupts&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The first time that the timer enables this interrupt after power up, the ISR executes and immediately upon exit it is called again as expected. &amp;nbsp;The first pass loads the first byte which is immediately transferred to the SPI shift register and the input buffer is available for the second byte. &amp;nbsp;During execution of the second pass, the SPTEF flag in SPI1S is cleared as expected but NEVER GETS SET AGAIN so no further interrupts occur. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SPI setup:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SPI1C1 = 0x50; &amp;nbsp; &amp;nbsp;/* SPI XMIT buff empty interrupt not enabled (yet),&lt;/P&gt;&lt;P&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;Master, clk idles low, phase: 0 mode, MS bit first */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SPI1C2 = 0; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* (Default) &amp;nbsp;SS not used, xmit/rcv lines separate */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SPI1BR = 0x73; &amp;nbsp; &amp;nbsp; /* Baud rate prescaler = 8, divider = 16. &amp;nbsp;20MHZ/128 = 156.25 K baud */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Note: This has all been done using the simulator. &amp;nbsp;I am waiting on hardware.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there a problem with the simulator or is this PEBCAK?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Nov 2009 03:57:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/SPI-simulation-MC9S08AW32/m-p/151598#M2127</guid>
      <dc:creator>bfehrenbach</dc:creator>
      <dc:date>2009-11-05T03:57:50Z</dc:date>
    </item>
    <item>
      <title>Re: SPI simulation MC9S08AW32</title>
      <link>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/SPI-simulation-MC9S08AW32/m-p/151599#M2128</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Looks like a simulator problem. &amp;nbsp;Everything worked fine on actual hardware.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Nov 2009 22:59:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Classic-Legacy-CodeWarrior/SPI-simulation-MC9S08AW32/m-p/151599#M2128</guid>
      <dc:creator>bfehrenbach</dc:creator>
      <dc:date>2009-11-05T22:59:31Z</dc:date>
    </item>
  </channel>
</rss>

