<?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中的主题 LPC1768 SSP Problem</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1768-SSP-Problem/m-p/569702#M19826</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Usare on Sun Apr 28 11:27:54 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello everyone,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to implement an SSP interface. I have got it working, well kind of.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It seems to be a one shot thing :confused:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;More explanation:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If i try to read a register, i get the expected response. If i reboot and try to read another register, i get the expected response again.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But if i try to read two different registers, one after the other, without rebooting; the second read provides the value of the first read as the response. its as if the rx buffer is not being emptied.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The read code is from an NXP sample to read SD/MMC cards, and is as follows:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;SEND:&lt;/SPAN&gt;&lt;BR /&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 SPI_SendByte (uint8_t data)
{

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Put the data on the FIFO */
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SSP1-&amp;gt;DR = data;

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Wait for sending to complete */
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (LPC_SSP1-&amp;gt;SR &amp;amp; SSP_SR_BSY);

&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t tmp = LPC_SSP1-&amp;gt;DR;

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Return the received value */
&amp;nbsp;&amp;nbsp;&amp;nbsp; return tmp;


}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Receive:&lt;/SPAN&gt;&lt;BR /&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 SPI_RecvByte (void)
{

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Send 0xFF to provide clock for MISO to receive one byte */
&amp;nbsp;&amp;nbsp;&amp;nbsp; return SPI_SendByte (0xFF);
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any ideas whats going wrong here?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 00:59:32 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T00:59:32Z</dc:date>
    <item>
      <title>LPC1768 SSP Problem</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1768-SSP-Problem/m-p/569702#M19826</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Usare on Sun Apr 28 11:27:54 MST 2013&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello everyone,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to implement an SSP interface. I have got it working, well kind of.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It seems to be a one shot thing :confused:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;More explanation:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If i try to read a register, i get the expected response. If i reboot and try to read another register, i get the expected response again.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But if i try to read two different registers, one after the other, without rebooting; the second read provides the value of the first read as the response. its as if the rx buffer is not being emptied.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The read code is from an NXP sample to read SD/MMC cards, and is as follows:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;SEND:&lt;/SPAN&gt;&lt;BR /&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 SPI_SendByte (uint8_t data)
{

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Put the data on the FIFO */
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SSP1-&amp;gt;DR = data;

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Wait for sending to complete */
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (LPC_SSP1-&amp;gt;SR &amp;amp; SSP_SR_BSY);

&amp;nbsp;&amp;nbsp;&amp;nbsp; uint8_t tmp = LPC_SSP1-&amp;gt;DR;

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Return the received value */
&amp;nbsp;&amp;nbsp;&amp;nbsp; return tmp;


}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Receive:&lt;/SPAN&gt;&lt;BR /&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 SPI_RecvByte (void)
{

&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Send 0xFF to provide clock for MISO to receive one byte */
&amp;nbsp;&amp;nbsp;&amp;nbsp; return SPI_SendByte (0xFF);
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any ideas whats going wrong here?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 00:59:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1768-SSP-Problem/m-p/569702#M19826</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T00:59:32Z</dc:date>
    </item>
  </channel>
</rss>

