<?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>LPCXpresso IDE中的主题 Re: SPI in LPC1317</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/SPI-in-LPC1317/m-p/587579#M27729</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Tue May 07 03:21:25 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: masterboy&lt;/STRONG&gt;&lt;BR /&gt;When I used the LPC17xx so simple functions for reading data could:&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
uint8_t EepromRead(uint16_t u16_address) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; EEPROM_SSEL_ON();
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SPI-&amp;gt;SPDR = 0b00000011;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(LPC_SPI-&amp;gt;SPSR &amp;amp; (1 &amp;lt;&amp;lt; 7)));
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SPI-&amp;gt;SPDR = (u16_address &amp;gt;&amp;gt; 8);
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(LPC_SPI-&amp;gt;SPSR &amp;amp; (1 &amp;lt;&amp;lt; 7)));&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SPI-&amp;gt;SPDR = (u16_address &amp;amp; 0xFF);&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(LPC_SPI-&amp;gt;SPSR &amp;amp; (1 &amp;lt;&amp;lt; 7)));&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SPI-&amp;gt;SPDR = 0b00000000;&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; while (!(LPC_SPI-&amp;gt;SPSR &amp;amp; (1 &amp;lt;&amp;lt; 7)));&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; EEPROM_SSEL_OFF();
&amp;nbsp;&amp;nbsp;&amp;nbsp; return LPC_SPI-&amp;gt;SPDR;
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;But LPC13xx and LPC11xx situation is more complicated because there is no native SPI.&lt;BR /&gt;SSP is more complicated to setup for me &lt;SPAN class="lia-unicode-emoji" title=":disappointed_face:"&gt;&lt;LI-EMOJI id="lia_disappointed-face" title=":disappointed_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It's just luck that this code is working with your LPC17xx. You are not reading FIFO flags, you don't care what's happening. Just throwing data out and hoping that something correct is received.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It's not surprising that this method fails.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 00:08:50 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T00:08:50Z</dc:date>
    <item>
      <title>SPI in LPC1317</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/SPI-in-LPC1317/m-p/587575#M27725</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by masterboy on Mon May 06 11:03:20 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;How can I load received byte in lpc1317 in SPI mode? I have EEPROM memory from which to read data. When the program steps, I can see that the data arrived correctly, but if you want to store in a variable, so I only saved value 0xFF. Do you know where is the problem?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:08:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/SPI-in-LPC1317/m-p/587575#M27725</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:08:48Z</dc:date>
    </item>
    <item>
      <title>Re: SPI in LPC1317</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/SPI-in-LPC1317/m-p/587576#M27726</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by masterboy on Tue May 07 00:49:26 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;There is my code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
#ifdef __USE_CMSIS
#include "LPC13Uxx.h"
#endif

#include &amp;lt;cr_section_macros.h&amp;gt;
#include &amp;lt;NXP/crp.h&amp;gt;

__CRP const unsigned int CRP_WORD = CRP_NO_CRP;

#define SSP_SR_RNE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (1 &amp;lt;&amp;lt; 2)// Receive FIFO Not Full
#define SSP_SR_BSY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (1 &amp;lt;&amp;lt; 4)// Busy
#define SSP_SSEL(1 &amp;lt;&amp;lt; 3) // P0.3

#define SSP_SSEL_LOW()LPC_GPIO-&amp;gt;CLR[0] = SSP_SSEL
#define SSP_SSEL_HIGH()LPC_GPIO-&amp;gt;SET[0] |= SSP_SSEL

int main(void) {

LPC_IOCON-&amp;gt;PIO0_2 = (2 &amp;lt;&amp;lt; 3) | (1 &amp;lt;&amp;lt; 0);// SSEL0
LPC_IOCON-&amp;gt;PIO0_6 = (2 &amp;lt;&amp;lt; 3) | (2 &amp;lt;&amp;lt; 0);// SCK0
LPC_IOCON-&amp;gt;PIO0_8 = (2 &amp;lt;&amp;lt; 3) | (1 &amp;lt;&amp;lt; 0);// MISO0
LPC_IOCON-&amp;gt;PIO0_9 = (2 &amp;lt;&amp;lt; 3) | (1 &amp;lt;&amp;lt; 0);// MOSI0

LPC_GPIO-&amp;gt;DIR[0] |= SSP_SSEL;// SSEL
SSP_SSEL_HIGH();

LPC_SYSCON-&amp;gt;SYSAHBCLKCTRL |= (1 &amp;lt;&amp;lt; 11);// SSP0 - ENABLE
LPC_SYSCON-&amp;gt;SSP0CLKDIV = 255;
LPC_SYSCON-&amp;gt;PRESETCTRL |= (1 &amp;lt;&amp;lt; 0);
LPC_SSP0-&amp;gt;CR0 = 7;
LPC_SSP0-&amp;gt;CPSR = 2;
LPC_SSP0-&amp;gt;CR1 = (1 &amp;lt;&amp;lt; 1);

uint8_t v1;

SSP_SSEL_LOW();
LPC_SSP0-&amp;gt;DR = 0b00000011;// Command - read
LPC_SSP0-&amp;gt;DR = 0b00000000;// Address - high byte
LPC_SSP0-&amp;gt;DR = 0b00000000;// Address - low byte
LPC_SSP0-&amp;gt;DR = 0b00000000;// Dummy byte
[COLOR=Red]while ((LPC_SSP0-&amp;gt;SR &amp;amp; (SSP_SR_BSY | SSP_SR_RNE)) != SSP_SR_RNE);[/COLOR]
v1 = LPC_SSP0-&amp;gt;DR;
SSP_SSEL_HIGH();
while(1) {

}
return 0 ;
}

&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://http://2i.cz/2i/i/5188bbbd/d722b29c4c5f7a6b738f4bb11743c90e/920f0d27f4.f.png" rel="nofollow noopener noreferrer" target="_blank"&gt;There is output of signal&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Where D2 is SSEL, D3 is SCK, D4 is MOSI and D5 is MISO. Signals are alright. From the figure, it is clear that the received byte has a value 0xAA. This value can be seen in the registry LPC_SSP0-&amp;gt;DR, when the program steps (&lt;/SPAN&gt;&lt;A href="http://http://2i.cz/2i/i/5188bee7/502db45aa7bd8d36680bd96203eb1886/4ec3c1eb38.f.png" rel="nofollow noopener noreferrer" target="_blank"&gt;the red line in the code&lt;/A&gt;&lt;SPAN&gt;). Next step, this value is deleted. The variable "v1" is a storage value 0xFF. Do you know why?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:08:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/SPI-in-LPC1317/m-p/587576#M27726</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:08:49Z</dc:date>
    </item>
    <item>
      <title>Re: SPI in LPC1317</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/SPI-in-LPC1317/m-p/587577#M27727</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Tue May 07 02:01:34 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: masterboy&lt;/STRONG&gt;&lt;BR /&gt;&lt;A href="http://http://2i.cz/2i/i/5188bbbd/d722b29c4c5f7a6b738f4bb11743c90e/920f0d27f4.f.png" rel="nofollow noopener noreferrer" target="_blank"&gt;There is output of signal&lt;/A&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;No, there's nothing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: masterboy&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;#define SSP_SSEL_LOW()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO-&amp;gt;CLR[0] = SSP_SSEL&lt;BR /&gt;#define SSP_SSEL_HIGH()&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO-&amp;gt;SET[0] |= SSP_SSEL&lt;BR /&gt;...&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_IOCON-&amp;gt;PIO0_2 = (2 &amp;lt;&amp;lt; 3) | (1 &amp;lt;&amp;lt; 0);&amp;nbsp;&amp;nbsp;&amp;nbsp; // SSEL0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO-&amp;gt;DIR[0] |= SSP_SSEL;&amp;nbsp;&amp;nbsp;&amp;nbsp; // SSEL&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SSP_SSEL_HIGH();&lt;BR /&gt; &lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Either use SSEL function or GPIO function, non both.&lt;/SPAN&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: masterboy&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;LPC_SSP0-&amp;gt;DR = 0b00000011;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Command - read&lt;BR /&gt;LPC_SSP0-&amp;gt;DR = 0b00000000;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Address - high byte&lt;BR /&gt;LPC_SSP0-&amp;gt;DR = 0b00000000;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Address - low byte&lt;BR /&gt;LPC_SSP0-&amp;gt;DR = 0b00000000;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Dummy byte&lt;BR /&gt;while ((LPC_SSP0-&amp;gt;SR &amp;amp; (SSP_SR_BSY | SSP_SR_RNE)) != SSP_SR_RNE);&lt;BR /&gt;v1 = LPC_SSP0-&amp;gt;DR;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What do you think is happening here in SSP? You are filling a FIFO.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I can't understand why you don't read a LPC13 sample, if you don't understand the timing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
void [COLOR=Red]SSPSend[/COLOR]( uint8_t *buf, uint32_t Length )
{
&amp;nbsp; uint32_t i;
&amp;nbsp; uint8_t Dummy = Dummy;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; for ( i = 0; i &amp;lt; Length; i++ )
&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Move on only if NOT busy and TX FIFO not full. */
&amp;nbsp;&amp;nbsp; [COLOR=Red] while ( (LPC_SSP-&amp;gt;SR &amp;amp; (SSPSR_TNF|SSPSR_BSY)) != SSPSR_TNF );[/COLOR]
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SSP-&amp;gt;DR = *buf;
&amp;nbsp;&amp;nbsp;&amp;nbsp; buf++;
#if !LOOPBACK_MODE
&amp;nbsp;&amp;nbsp; [COLOR=Red] while ( (LPC_SSP-&amp;gt;SR &amp;amp; (SSPSR_BSY|SSPSR_RNE)) != SSPSR_RNE );[/COLOR]
&amp;nbsp;&amp;nbsp;&amp;nbsp; [B][COLOR=Red]/* Whenever a byte is written, MISO FIFO counter increments, Clear FIFO 
&amp;nbsp;&amp;nbsp;&amp;nbsp; on MISO. Otherwise, when SSP0Receive() is called, previous data byte
&amp;nbsp;&amp;nbsp;&amp;nbsp; is left in the FIFO. */[/COLOR][/B]
&amp;nbsp;&amp;nbsp;&amp;nbsp; Dummy = LPC_SSP-&amp;gt;DR;
#else
&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Wait until the Busy bit is cleared. */
&amp;nbsp;&amp;nbsp;&amp;nbsp; while ( LPC_SSP-&amp;gt;SR &amp;amp; SSPSR_BSY );
#endif
&amp;nbsp; }
&amp;nbsp; return; 
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:08:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/SPI-in-LPC1317/m-p/587577#M27727</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:08:49Z</dc:date>
    </item>
    <item>
      <title>Re: SPI in LPC1317</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/SPI-in-LPC1317/m-p/587578#M27728</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by masterboy on Tue May 07 02:49:24 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;When I used the LPC17xx so simple functions for reading data could:&lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
uint8_t EepromRead(uint16_t u16_address) {
EEPROM_SSEL_ON();
LPC_SPI-&amp;gt;SPDR = 0b00000011;
while (!(LPC_SPI-&amp;gt;SPSR &amp;amp; (1 &amp;lt;&amp;lt; 7)));
LPC_SPI-&amp;gt;SPDR = (u16_address &amp;gt;&amp;gt; 8);
while (!(LPC_SPI-&amp;gt;SPSR &amp;amp; (1 &amp;lt;&amp;lt; 7)));
LPC_SPI-&amp;gt;SPDR = (u16_address &amp;amp; 0xFF);
while (!(LPC_SPI-&amp;gt;SPSR &amp;amp; (1 &amp;lt;&amp;lt; 7)));
LPC_SPI-&amp;gt;SPDR = 0b00000000;
while (!(LPC_SPI-&amp;gt;SPSR &amp;amp; (1 &amp;lt;&amp;lt; 7)));
EEPROM_SSEL_OFF();
return LPC_SPI-&amp;gt;SPDR;
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But LPC13xx and LPC11xx situation is more complicated because there is no native SPI.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SSP is more complicated to setup for me &lt;SPAN class="lia-unicode-emoji" title=":disappointed_face:"&gt;&lt;LI-EMOJI id="lia_disappointed-face" title=":disappointed_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:08:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/SPI-in-LPC1317/m-p/587578#M27728</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:08:50Z</dc:date>
    </item>
    <item>
      <title>Re: SPI in LPC1317</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/SPI-in-LPC1317/m-p/587579#M27729</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Tue May 07 03:21:25 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: masterboy&lt;/STRONG&gt;&lt;BR /&gt;When I used the LPC17xx so simple functions for reading data could:&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
uint8_t EepromRead(uint16_t u16_address) {
&amp;nbsp;&amp;nbsp;&amp;nbsp; EEPROM_SSEL_ON();
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SPI-&amp;gt;SPDR = 0b00000011;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(LPC_SPI-&amp;gt;SPSR &amp;amp; (1 &amp;lt;&amp;lt; 7)));
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SPI-&amp;gt;SPDR = (u16_address &amp;gt;&amp;gt; 8);
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(LPC_SPI-&amp;gt;SPSR &amp;amp; (1 &amp;lt;&amp;lt; 7)));&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SPI-&amp;gt;SPDR = (u16_address &amp;amp; 0xFF);&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(LPC_SPI-&amp;gt;SPSR &amp;amp; (1 &amp;lt;&amp;lt; 7)));&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SPI-&amp;gt;SPDR = 0b00000000;&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; while (!(LPC_SPI-&amp;gt;SPSR &amp;amp; (1 &amp;lt;&amp;lt; 7)));&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; EEPROM_SSEL_OFF();
&amp;nbsp;&amp;nbsp;&amp;nbsp; return LPC_SPI-&amp;gt;SPDR;
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;But LPC13xx and LPC11xx situation is more complicated because there is no native SPI.&lt;BR /&gt;SSP is more complicated to setup for me &lt;SPAN class="lia-unicode-emoji" title=":disappointed_face:"&gt;&lt;LI-EMOJI id="lia_disappointed-face" title=":disappointed_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It's just luck that this code is working with your LPC17xx. You are not reading FIFO flags, you don't care what's happening. Just throwing data out and hoping that something correct is received.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It's not surprising that this method fails.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:08:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/SPI-in-LPC1317/m-p/587579#M27729</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:08:50Z</dc:date>
    </item>
  </channel>
</rss>

