<?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>LPC MicrocontrollersのトピックRe: how to use SPI</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/how-to-use-SPI/m-p/749036#M30163</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear&amp;nbsp; Kerry&lt;/P&gt;&lt;P&gt;Thank you for your answer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think,&lt;/P&gt;&lt;P&gt;In&amp;nbsp;SPI_MASTER_IRQHandler (spi\interrupt_b2b\master ),&amp;nbsp;Every receiving 1 byte, interrupt occurs.&lt;/P&gt;&lt;P&gt;I want long interval of interrupt.&lt;/P&gt;&lt;P&gt;I found the sample named ."interrupt_b2b_transfer/master"&lt;/P&gt;&lt;P&gt;In&amp;nbsp; this interrupt is SPI_MasterTransferHandleIRQ.&lt;/P&gt;&lt;P&gt;I think fifo for interrupt exists.&lt;/P&gt;&lt;P&gt;And intterupt occurs when fifo is full.&lt;/P&gt;&lt;P&gt;Is it correct?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In SPI_MasterTransferHandleIRQ,When last data recieved,interrupt calls Mastercallback.&lt;/P&gt;&lt;P&gt;In Mastercallback,masterFinished is set.&lt;/P&gt;&lt;P&gt;Is it correct?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Why masterFinished is set in Mastercallback?&lt;/P&gt;&lt;P&gt;I think ,it's no problem&amp;nbsp;even if&amp;nbsp;&amp;nbsp;masterFinished&amp;nbsp;is set in MasterTransferHandleIRQ. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is it correct?&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;makoto okuyama&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 06 Jun 2018 15:02:40 GMT</pubDate>
    <dc:creator>実奥山</dc:creator>
    <dc:date>2018-06-06T15:02:40Z</dc:date>
    <item>
      <title>how to use SPI</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/how-to-use-SPI/m-p/749034#M30161</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I want to read/write SPI SRAM by LPC54608&lt;/P&gt;&lt;P&gt;I want to use Interrupt,non-blocking.&lt;/P&gt;&lt;P&gt;I attach a qutestion.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please answer my question.&lt;/P&gt;&lt;P&gt;makoto okuyama.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Jun 2018 06:39:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/how-to-use-SPI/m-p/749034#M30161</guid>
      <dc:creator>実奥山</dc:creator>
      <dc:date>2018-06-04T06:39:05Z</dc:date>
    </item>
    <item>
      <title>Re: how to use SPI</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/how-to-use-SPI/m-p/749035#M30162</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Customer,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; You can use the interrupt mode, it's no problem. &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Now, answer your question:&lt;/P&gt;&lt;P&gt;&amp;nbsp;Take the sdk code SDK_2.3.0_LPCXpresso54608\boards\lpcxpresso54608\driver_examples\spi\interrupt_b2b\master as an example.&lt;/P&gt;&lt;P&gt;&amp;nbsp; The SPI wave is tested as this:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/4687iE74247B957EC14E1/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;The CS will be de-asserted after the last byte is sent by the interrupt.&lt;/P&gt;&lt;P&gt;More details, you can check SPI_MASTER_IRQHandler in spi_interrup_b2c_master.c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wish it helps you.&lt;/P&gt;&lt;P&gt;If you still have question about it, please kindly let me know.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Jun 2018 07:40:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/how-to-use-SPI/m-p/749035#M30162</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2018-06-05T07:40:25Z</dc:date>
    </item>
    <item>
      <title>Re: how to use SPI</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/how-to-use-SPI/m-p/749036#M30163</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear&amp;nbsp; Kerry&lt;/P&gt;&lt;P&gt;Thank you for your answer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think,&lt;/P&gt;&lt;P&gt;In&amp;nbsp;SPI_MASTER_IRQHandler (spi\interrupt_b2b\master ),&amp;nbsp;Every receiving 1 byte, interrupt occurs.&lt;/P&gt;&lt;P&gt;I want long interval of interrupt.&lt;/P&gt;&lt;P&gt;I found the sample named ."interrupt_b2b_transfer/master"&lt;/P&gt;&lt;P&gt;In&amp;nbsp; this interrupt is SPI_MasterTransferHandleIRQ.&lt;/P&gt;&lt;P&gt;I think fifo for interrupt exists.&lt;/P&gt;&lt;P&gt;And intterupt occurs when fifo is full.&lt;/P&gt;&lt;P&gt;Is it correct?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In SPI_MasterTransferHandleIRQ,When last data recieved,interrupt calls Mastercallback.&lt;/P&gt;&lt;P&gt;In Mastercallback,masterFinished is set.&lt;/P&gt;&lt;P&gt;Is it correct?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Why masterFinished is set in Mastercallback?&lt;/P&gt;&lt;P&gt;I think ,it's no problem&amp;nbsp;even if&amp;nbsp;&amp;nbsp;masterFinished&amp;nbsp;is set in MasterTransferHandleIRQ. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is it correct?&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;makoto okuyama&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Jun 2018 15:02:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/how-to-use-SPI/m-p/749036#M30163</guid>
      <dc:creator>実奥山</dc:creator>
      <dc:date>2018-06-06T15:02:40Z</dc:date>
    </item>
    <item>
      <title>Re: how to use SPI</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/how-to-use-SPI/m-p/749037#M30164</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi makoto,&lt;/P&gt;&lt;P&gt;&amp;nbsp; If you check the SPI_MasterTransferHandleIRQ, you will find the Mastercallback is called just in SPI_MasterTransferHandleIRQ:&lt;/P&gt;&lt;P&gt;void SPI_MasterTransferHandleIRQ(SPI_Type *base, spi_master_handle_t *handle)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; assert((NULL != base) &amp;amp;&amp;amp; (NULL != handle));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* IRQ behaviour:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * - first interrupt is triggered by empty txFIFO. The transfer function&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; then tries empty rxFIFO and fill txFIFO interleaved that results to&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; strategy to process as many items as possible.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * - the next IRQs can be:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rxIRQ from nonempty rxFIFO which requires to empty rxFIFO.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; txIRQ from empty txFIFO which requires to refill txFIFO.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * - last interrupt is triggered by empty txFIFO. The last state is&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; known by empty rxBuffer and txBuffer. If there is nothing to receive&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; or send - both operations have been finished and interrupts can be&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp;&amp;nbsp; disabled.&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Data to send or read or expected to receive */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((handle-&amp;gt;txRemainingBytes) || (handle-&amp;gt;rxRemainingBytes) || (handle-&amp;gt;toReceiveCount))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Transmit or receive data */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_TransferHandleIRQInternal(base, handle);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* No data to send or read or receive. Transfer ends. Set txTrigger to 0 level and&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * enable txIRQ to confirm when txFIFO becomes empty */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((!handle-&amp;gt;txRemainingBytes) &amp;amp;&amp;amp; (!handle-&amp;gt;rxRemainingBytes) &amp;amp;&amp;amp; (!handle-&amp;gt;toReceiveCount))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base-&amp;gt;FIFOTRIG = base-&amp;gt;FIFOTRIG &amp;amp; (~SPI_FIFOTRIG_TXLVL_MASK);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base-&amp;gt;FIFOINTENSET |= SPI_FIFOINTENSET_TXLVL_MASK;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t rxRemainingCount = SPI_BYTES_TO_COUNT(handle-&amp;gt;dataWidth, handle-&amp;gt;rxRemainingBytes);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* If, there are no data to send or rxFIFO is already filled with necessary number of dummy data,&lt;BR /&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; * disable txIRQ. From this point only rxIRQ is used to receive data without any transmission */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((!handle-&amp;gt;txRemainingBytes) &amp;amp;&amp;amp; (rxRemainingCount &amp;lt;= handle-&amp;gt;toReceiveCount))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&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;&amp;nbsp;&amp;nbsp; base-&amp;gt;FIFOINTENCLR = SPI_FIFOINTENCLR_TXLVL_MASK;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Nothing to receive or transmit, but we still have pending data which are bellow rxLevel.&lt;BR /&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; * Cannot clear rxFIFO, txFIFO might be still active */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (rxRemainingCount == 0)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&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;&amp;nbsp;&amp;nbsp; if ((handle-&amp;gt;txRemainingBytes == 0) &amp;amp;&amp;amp; (handle-&amp;gt;toReceiveCount != 0) &amp;amp;&amp;amp;&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (handle-&amp;gt;toReceiveCount &amp;lt; SPI_FIFOTRIG_RXLVL_GET(base) + 1))&lt;BR /&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;&amp;nbsp;&amp;nbsp; {&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base-&amp;gt;FIFOTRIG =&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (base-&amp;gt;FIFOTRIG &amp;amp; (~SPI_FIFOTRIG_RXLVL_MASK)) | SPI_FIFOTRIG_RXLVL(handle-&amp;gt;toReceiveCount - 1);&lt;BR /&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;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Expected to receive less data than rxLevel value, we have to update rxLevel */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&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;&amp;nbsp;&amp;nbsp; if (rxRemainingCount &amp;lt; (SPI_FIFOTRIG_RXLVL_GET(base) + 1))&lt;BR /&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;&amp;nbsp;&amp;nbsp; {&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base-&amp;gt;FIFOTRIG =&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (base-&amp;gt;FIFOTRIG &amp;amp; (~SPI_FIFOTRIG_RXLVL_MASK)) | SPI_FIFOTRIG_RXLVL(rxRemainingCount - 1);&lt;BR /&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;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Empty txFIFO is confirmed. Disable IRQs and restore triggers values */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base-&amp;gt;FIFOINTENCLR = SPI_FIFOINTENCLR_RXLVL_MASK | SPI_FIFOINTENCLR_TXLVL_MASK;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; base-&amp;gt;FIFOTRIG = (base-&amp;gt;FIFOTRIG &amp;amp; (~(SPI_FIFOTRIG_RXLVL_MASK | SPI_FIFOTRIG_RXLVL_MASK))) |&lt;BR /&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_FIFOTRIG_RXLVL(handle-&amp;gt;rxWatermark) | SPI_FIFOTRIG_TXLVL(handle-&amp;gt;txWatermark);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* set idle state and call user callback */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; handle-&amp;gt;state = kStatus_SPI_Idle;&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;if (handle-&amp;gt;callback)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (handle-&amp;gt;callback)(base, handle, handle-&amp;gt;state, handle-&amp;gt;userData);&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Jun 2018 06:50:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/how-to-use-SPI/m-p/749037#M30164</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2018-06-07T06:50:44Z</dc:date>
    </item>
  </channel>
</rss>

