<?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: MC9S08PA32 - SPI Problem</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08PA32-SPI-Problem/m-p/386936#M21247</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Juanma Bailen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm sorry for delay response, I was heavily backlogged!&lt;/P&gt;&lt;P&gt;Thank you for your update on this issue!&lt;/P&gt;&lt;P&gt;The problem on your side is caused by the time that delayed in SPI interrupt routine if you want processing the received data.&lt;/P&gt;&lt;P&gt;To avoid this issue, I would suggest move statement "&lt;STRONG&gt;Status = SPI1_S;&lt;/STRONG&gt;" at the end of your SPI interrupt routine.&lt;/P&gt;&lt;P&gt;the code could be as below:&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;ISR (interrupciospi)&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;{&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;//Status = SPI1_S;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;bufferIN[counter_spi] = SPI1_DL;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;(data processing code)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;SPI1_DL = bufferOUT[counter_spi];&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;if (counter_spi == 5)&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;STRONG&gt;counter_spi++;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;else&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;STRONG&gt;counter_spi = 0;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Status = SPI1_S;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Hope it helps!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 20 Nov 2014 09:07:55 GMT</pubDate>
    <dc:creator>Rick_Li</dc:creator>
    <dc:date>2014-11-20T09:07:55Z</dc:date>
    <item>
      <title>MC9S08PA32 - SPI Problem</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08PA32-SPI-Problem/m-p/386933#M21244</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everybody! This is my first request. Sorry if I don't explain correctly ^^ &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;I'm using a S08 microcontroller and I need to use the SPI communication.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The S08 works as slave. When the master sends a byte, the slave recieved and prepare a byte to answer at next master's clock. &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;For example:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;SS goes 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;1. Master sends 0x90 and &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;Slave has 0x00 (not defined previous buffer). Slave prepares a 0x20 for next CLK.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;2. Master sends 0x40 and &lt;SPAN style="font-size: 10pt;"&gt;Slave has 0x20 (step 1). Slave prepares a 0xAA for next CLK.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG style="font-size: 10pt;"&gt;3. Master sends 0x01 and &lt;SPAN style="font-size: 10pt;"&gt;Slave has 0xAA (step 2). Slave prepares a 0xBB for next CLK.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG style=": ; font-size: 10pt;"&gt;4. Master sends 0x01 and &lt;SPAN style="font-size: 10pt;"&gt;Slave has 0xBB (step 3). Slave prepares a 0xCC for next CLK.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG style=": ; font-size: 10pt;"&gt;5. Master sends 0x01 and &lt;SPAN style="font-size: 10pt;"&gt;Slave has 0xCC (step 4). Slave prepares a 0xDD for next CLK.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG style=": ; font-size: 10pt;"&gt;6. Master sends 0x01 and &lt;SPAN style="font-size: 10pt;"&gt;Slave has 0xDD (step 5). Slave prepares a 0x55 for next CLK.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG style=": ; font-size: 10pt;"&gt;SS goes 1&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG style=": ; font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG style=": ; font-size: 10pt;"&gt;&lt;STRONG&gt;.....Next TX&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG style=": ; font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG style=": ; font-size: 10pt;"&gt;SS goes 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG style=": ; font-size: 10pt;"&gt;7. Repeat step 1 with: Master sends 0x90 and &lt;SPAN style="font-size: 10pt;"&gt;Slave has 0x55 (previous buffer). Slave prepares a 0x20 for next CLK.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;...And so on&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;SS goes 1&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The problem is I need to wait 2 cycles for each byte. Here's the example:&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;SS goes 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;1. Master sends 0x90 and &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;Slave has 0x00 (not defined previous buffer). Slave prepares a 0x20 for next CLK.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;2. Master sends 0x40 and &lt;SPAN style="font-size: 10pt;"&gt;Slave has &lt;STRONG&gt;0x00 (not defined previous buffer)&lt;/STRONG&gt;. Slave prepares a 0xAA for next CLK.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG style="font-size: 10pt;"&gt;3. Master sends 0x01 and &lt;SPAN style="font-size: 10pt;"&gt;Slave has &lt;STRONG&gt;0x20&lt;/STRONG&gt; (step 1). Slave prepares a 0xBB for next CLK.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG style=": ; font-size: 10pt;"&gt;4. Master sends 0x01 and &lt;SPAN style="font-size: 10pt;"&gt;Slave has 0xBB (step 2). Slave prepares a 0xCC for next CLK.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG style=": ; font-size: 10pt;"&gt;5. Master sends 0x01 and &lt;SPAN style="font-size: 10pt;"&gt;Slave has 0xCC (step 3). Slave prepares a 0xDD for next CLK.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG style=": ; line-height: 1.5em; font-size: 10pt;"&gt;6. Master sends 0x01 and &lt;SPAN style="font-size: 10pt;"&gt;Slave has 0xDD (step 4). Slave prepares a 0x55 for next CLK.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;SS goes 1&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;.....Next TX&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;SS goes 0&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG style=": ; font-size: 10pt;"&gt;7. Repeat step 1 with: Master sends 0x90 and &lt;SPAN style="font-size: 10pt;"&gt;Slave has 0x55 (previous buffer). Slave prepares a 0x20 for next CLK.&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;...And so on&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;SS goes 1&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If I read the datasheet:&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;17.3.4 SPI Status Register (SPIx_S)&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;...&lt;/EM&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;EM&gt;bit 5 &amp;gt; SPTEF &amp;gt; " &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&lt;STRONG&gt;For an idle SPI, data &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;written to DH:DL is transferred to the shifter almost immediately so that SPTEF is set within two bus cycles, allowing a second set of data to be queued into the transmit buffer.&lt;/STRONG&gt; "&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I lost 1 cycle and I should the byte always at next TX&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance : )&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 07 Nov 2014 13:28:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08PA32-SPI-Problem/m-p/386933#M21244</guid>
      <dc:creator>juanma_clautron</dc:creator>
      <dc:date>2014-11-07T13:28:36Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08PA32 - SPI Problem</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08PA32-SPI-Problem/m-p/386934#M21245</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Bailen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I appreciate your patience on this issue but I dont fully understand your problem.&lt;/P&gt;&lt;P&gt;if you want to delay 2 cycles in your application, then, I would suggest store the data received by SPI slave in a data buffer (an array with two element is OK), then, in the third SPI communication cycle, send the first received data back and move the second data to first position.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I misunderstand your question, then, please directly reply it here!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Nov 2014 08:22:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08PA32-SPI-Problem/m-p/386934#M21245</guid>
      <dc:creator>Rick_Li</dc:creator>
      <dc:date>2014-11-11T08:22:47Z</dc:date>
    </item>
    <item>
      <title>Re: Re: MC9S08PA32 - SPI Problem</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08PA32-SPI-Problem/m-p/386935#M21246</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Yong Li&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It's just the opposite. I don't want to wait. I'm gonna explain you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- The app has 2 buffers, 1 counter, and 1 byte for reading SPI status register:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;unsigned char bufferIN[6]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // RX&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;unsigned char bufferOUT[6]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // TX &amp;gt; [ &lt;SPAN style="color: #00ffff;"&gt;0x20&lt;/SPAN&gt;, &lt;SPAN style="color: #ff0000;"&gt;0xE8&lt;/SPAN&gt;, &lt;STRONG&gt;&lt;SPAN style="color: #00ff00;"&gt;0x03&lt;/SPAN&gt;, &lt;STRONG&gt;&lt;SPAN style="color: #00ffff;"&gt;0x00&lt;/SPAN&gt;, &lt;STRONG&gt;&lt;SPAN style="color: #ff0000;"&gt;0x00&lt;/SPAN&gt;, &lt;STRONG&gt;&lt;SPAN style="color: #00ff00;"&gt;0x81&lt;/SPAN&gt; ]&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;unisgned char counter_spi&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;&lt;STRONG&gt;unisgned char Status&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- SPI = slave mode, Data buffer size = 8 bits (only uses SPI1_DL)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- And 1 interruption:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;ISR (interrupciospi)&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;{&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;Status = SPI1_S;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;bufferIN[counter_spi] = SPI1_DL;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;/******HERE IS MY PROBLEM******/&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;SPI1_DL = bufferOUT[counter_spi];&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;if (counter_spi == 5)&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;STRONG&gt;counter_spi++;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;else&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;STRONG&gt;counter_spi = 0;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Every interruption (each byte recieved) it calls &lt;STRONG&gt;interrupciospi&lt;/STRONG&gt;. Read the SPI1_S, then copy the DL to &lt;STRONG&gt;bufferIN[counterspi]&lt;/STRONG&gt; and put &lt;STRONG&gt;bufferOUT[counterspi]&lt;/STRONG&gt; to DL. Here is when I have the problem:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;- If I put the bufferOUT directly to SPI1_DL, the app works fine.&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;- But if I process what I've recieved at bufferIN, the app doesn't work. For example, if I put &lt;STRONG&gt;for (i=0;i&amp;lt;10;i++)&lt;/STRONG&gt; (just a delay) at &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;/******HERE IS MY PROBLEM******/&lt;/STRONG&gt;&lt;/SPAN&gt; , automatically waits until next CLK for send the bufferOUT. &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;For testing, I always send &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&lt;STRONG&gt;[ 0x20, 0xE8, &lt;STRONG&gt;0x03, &lt;STRONG&gt;0x00, &lt;STRONG&gt;0x00, &lt;STRONG&gt;0x81 ]&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt; , but if it works correctly, I want to process &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&lt;STRONG&gt;bufferIN[1]&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt; and:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;- If &lt;STRONG&gt;bufferIN[1] = &lt;SPAN style="color: #ff9900;"&gt;0x33&lt;/SPAN&gt;&lt;/STRONG&gt; send &lt;STRONG&gt;[ 0x20, 0xE8, &lt;STRONG&gt;0x03, &lt;STRONG&gt;0x00, &lt;STRONG&gt;0x00, &lt;STRONG&gt;0x81 ]&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;- If &lt;STRONG&gt;bufferIN[1] = &lt;SPAN style="color: #ff9900;"&gt;0x34&lt;/SPAN&gt;&lt;/STRONG&gt; send &lt;STRONG&gt;[ 0x20, 0xC5, &lt;STRONG&gt;0x12, &lt;STRONG&gt;0x60, &lt;STRONG&gt;0x13, &lt;STRONG&gt;0x81 ]&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example (working correctly, but not processing what I recieved):&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;first transmission (&lt;STRONG&gt;ok.jpg&lt;/STRONG&gt; left)&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;1. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = 0x00 &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x92&lt;/SPAN&gt; &amp;gt; bufferIN[0] = &lt;SPAN style="color: #ff9900;"&gt;0x92&lt;/SPAN&gt; &amp;gt; bufferOUT[0] = &lt;SPAN style="color: #00ccff;"&gt;0x20&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;2. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #00ccff;"&gt;0x20&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x33&lt;/SPAN&gt; &amp;gt; bufferIN[1] = &lt;SPAN style="color: #ff9900;"&gt;0x33&lt;/SPAN&gt; &amp;gt; bufferOUT[1] = &lt;SPAN style="color: #ff0000;"&gt;0xE8&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;3. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;0xE8&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferIN[2] = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferOUT[2] = &lt;SPAN style="color: #00ff00;"&gt;0x03&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;4. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="; color: #00ff00;"&gt;&lt;STRONG&gt;0x03&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferIN[3] = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferOUT[3] = &lt;SPAN style="color: #00ccff;"&gt;0x00&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;5. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #00ccff;"&gt;&lt;STRONG&gt;0x00&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferIN[4] = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferOUT[4] = &lt;SPAN style="color: #ff0000;"&gt;0x00&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;6. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;0x00&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferIN[5] = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferOUT[5] = &lt;/STRONG&gt;&lt;SPAN style="color: #00ff00;"&gt;&lt;STRONG&gt;0x81&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;next transmission (&lt;STRONG&gt;ok.jpg &lt;/STRONG&gt;right)&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;1. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #00ff00;"&gt;0x81&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x92&lt;/SPAN&gt; &amp;gt; bufferIN[0] = &lt;SPAN style="color: #ff9900;"&gt;0x92&lt;/SPAN&gt; &amp;gt; bufferOUT[0] = &lt;SPAN style="color: #00ccff;"&gt;0x20&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;2. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #00ccff;"&gt;0x20&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x33&lt;/SPAN&gt; &amp;gt; bufferIN[1] = &lt;SPAN style="color: #ff9900;"&gt;0x33&lt;/SPAN&gt; &amp;gt; bufferOUT[1] = &lt;SPAN style="color: #ff0000;"&gt;0xE8&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;3. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;0xE8&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferIN[2] = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferOUT[2] = &lt;SPAN style="color: #00ff00;"&gt;0x03&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;4. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="; color: #00ff00;"&gt;&lt;STRONG&gt;0x03&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x92&lt;/SPAN&gt; &amp;gt; bufferIN[3] = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferOUT[3] = &lt;SPAN style="color: #00ccff;"&gt;0x00&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;5. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #00ccff;"&gt;&lt;STRONG&gt;0x00&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x33&lt;/SPAN&gt; &amp;gt; bufferIN[4] = &lt;SPAN style="color: #ff9900;"&gt;0x0&lt;/SPAN&gt; &amp;gt; bufferOUT[4] = &lt;SPAN style="color: #ff0000;"&gt;0x00&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;6. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;0x00&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferIN[5] = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferOUT[5] = &lt;/STRONG&gt;&lt;SPAN style="color: #00ff00;"&gt;&lt;STRONG&gt;0x81&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example (not working correctly):&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;first transmission (left)&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;1. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;STRONG&gt;0x00&lt;/STRONG&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x92&lt;/SPAN&gt; &amp;gt; bufferIN[0] = &lt;SPAN style="color: #ff9900;"&gt;0x92&lt;/SPAN&gt; &amp;gt; &lt;SPAN style="color: #ff0000;"&gt;TIME FOR PROCESS&lt;/SPAN&gt; &amp;gt; bufferOUT[0] = &lt;SPAN style="color: #00ccff;"&gt;&lt;STRONG&gt;0x20&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;2. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;STRONG&gt;0x00&lt;/STRONG&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x33&lt;/SPAN&gt; &amp;gt; bufferIN[1] = &lt;SPAN style="color: #ff9900;"&gt;0x33&lt;/SPAN&gt; &lt;STRONG&gt; &amp;gt; &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;TIME FOR PROCESS&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt; &amp;gt; b&lt;/STRONG&gt;&lt;/STRONG&gt;ufferOUT[1] = &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;0xE8&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;3. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #00ccff;"&gt;&lt;STRONG&gt;&lt;STRONG&gt;0x20&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferIN[2] = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;TIME FOR PROCESS&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt; &amp;gt; b&lt;/STRONG&gt;ufferOUT[2] = &lt;SPAN style="; color: #00ff00;"&gt;&lt;STRONG&gt;0x03&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;4. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;0xE8&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferIN[3] = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;TIME FOR PROCESS&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt; &amp;gt; b&lt;/STRONG&gt;ufferOUT[3] = &lt;SPAN style="color: #00ccff;"&gt;&lt;STRONG&gt;0x00&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;5. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="; color: #00ff00;"&gt;&lt;STRONG&gt;&lt;STRONG&gt;0x03&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferIN[4] = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;TIME FOR PROCESS&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt; &amp;gt; b&lt;/STRONG&gt;ufferOUT[4] = &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;0x00&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;6. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #00ccff;"&gt;&lt;STRONG&gt;&lt;STRONG&gt;0x00&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferIN[5] = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;TIME FOR PROCESS&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt; &amp;gt; b&lt;/STRONG&gt;ufferOUT[5] = &lt;SPAN style="color: #00ff00;"&gt;&lt;STRONG&gt;0x81&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;next transmission (right)&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;1. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;&lt;STRONG&gt;0x00&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x92&lt;/SPAN&gt; &amp;gt; bufferIN[0] = &lt;SPAN style="color: #ff9900;"&gt;0x92&lt;/SPAN&gt; &amp;gt; &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;TIME FOR PROCESS&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt; &amp;gt; b&lt;/STRONG&gt;ufferOUT[0] = &lt;SPAN style="color: #00ccff;"&gt;0x20&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;2. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #00ff00;"&gt;&lt;STRONG&gt;&lt;STRONG&gt;0x81&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x33&lt;/SPAN&gt; &amp;gt; bufferIN[1] = &lt;SPAN style="color: #ff9900;"&gt;0x33&lt;/SPAN&gt; &amp;gt; &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;TIME FOR PROCESS&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt; &amp;gt; b&lt;/STRONG&gt;ufferOUT[1] = &lt;SPAN style="color: #ff0000;"&gt;0xE8&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;3. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #00ccff;"&gt;&lt;STRONG&gt;0x20&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferIN[2] = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;TIME FOR PROCESS&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt; &amp;gt; b&lt;/STRONG&gt;ufferOUT[2] = &lt;SPAN style="; color: #00ff00;"&gt;&lt;STRONG&gt;&lt;STRONG&gt;0x03&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;4. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;0xE8&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferIN[3] = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;TIME FOR PROCESS&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt; &amp;gt; b&lt;/STRONG&gt;ufferOUT[3] = &lt;SPAN style="color: #00ccff;"&gt;0x00&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;5. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;STRONG style=": ; color: #00ff00;"&gt;&lt;STRONG&gt;&lt;STRONG&gt;0x03&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/STRONG&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferIN[4] = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;TIME FOR PROCESS&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt; &amp;gt; b&lt;/STRONG&gt;ufferOUT[4] = &lt;SPAN style="color: #ff0000;"&gt;0x00&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;6. &lt;STRONG&gt;SPI1_DL&lt;/STRONG&gt; (previously) = &lt;SPAN style="color: #00ccff;"&gt;&lt;STRONG&gt;0x00&lt;/STRONG&gt;&lt;/SPAN&gt; &amp;gt; Interruption &amp;gt; RX = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; bufferIN[5] = &lt;SPAN style="color: #ff9900;"&gt;0x00&lt;/SPAN&gt; &amp;gt; &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;TIME FOR PROCESS&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt; &amp;gt; b&lt;/STRONG&gt;ufferOUT[5] = &lt;/STRONG&gt;&lt;SPAN style="color: #00ff00;"&gt;&lt;STRONG&gt;0x81&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope I explained correctly ^^&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your answer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Nov 2014 10:59:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08PA32-SPI-Problem/m-p/386935#M21246</guid>
      <dc:creator>juanma_clautron</dc:creator>
      <dc:date>2014-11-11T10:59:24Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S08PA32 - SPI Problem</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08PA32-SPI-Problem/m-p/386936#M21247</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Juanma Bailen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm sorry for delay response, I was heavily backlogged!&lt;/P&gt;&lt;P&gt;Thank you for your update on this issue!&lt;/P&gt;&lt;P&gt;The problem on your side is caused by the time that delayed in SPI interrupt routine if you want processing the received data.&lt;/P&gt;&lt;P&gt;To avoid this issue, I would suggest move statement "&lt;STRONG&gt;Status = SPI1_S;&lt;/STRONG&gt;" at the end of your SPI interrupt routine.&lt;/P&gt;&lt;P&gt;the code could be as below:&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;ISR (interrupciospi)&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;{&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;//Status = SPI1_S;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;bufferIN[counter_spi] = SPI1_DL;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;(data processing code)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;SPI1_DL = bufferOUT[counter_spi];&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;if (counter_spi == 5)&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;STRONG&gt;counter_spi++;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&lt;STRONG&gt;else&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 90px;"&gt;&lt;STRONG&gt;counter_spi = 0;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Status = SPI1_S;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Hope it helps!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Nov 2014 09:07:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/MC9S08PA32-SPI-Problem/m-p/386936#M21247</guid>
      <dc:creator>Rick_Li</dc:creator>
      <dc:date>2014-11-20T09:07:55Z</dc:date>
    </item>
  </channel>
</rss>

