<?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中的主题 LPC55S16: SPI RX FIFO reads only zeros</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S16-SPI-RX-FIFO-reads-only-zeros/m-p/1056911#M40915</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to set up SPI3 on LPC55S16-EVK board using my own initialization function. This is a really simple application with peripheral initialization functions and&amp;nbsp; MRT0 interrupt that basically handles the sending and receiving of 1 byte data. SPI is configured as loopback mode so that I can verify my driver is working.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below is my initialization function;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;void Init_SPI3(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;{&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&lt;SPAN style="color: #008000;"&gt;&amp;nbsp;&amp;nbsp;/* Select 12MHz FRO as Flexcomm 3 clock */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SYSCON-&amp;gt;FCCLKSELX[3] = SYSCON_FCCLKSEL3_SEL(2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Reset Flexcomm 3 peripheral */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SYSCON-&amp;gt;PRESETCTRLSET[1] = SYSCON_PRESETCTRLSET_DATA(1 &amp;lt;&amp;lt; 14);&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(!(SYSCON-&amp;gt;PRESETCTRLX[1] &amp;amp; SYSCON_PRESETCTRL1_FC3_RST_MASK))&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;asm("nop");&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SYSCON-&amp;gt;PRESETCTRLCLR[1] = SYSCON_PRESETCTRLCLR_DATA(1 &amp;lt;&amp;lt; 14);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Set PIO0_2 as MISO */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;IOCON-&amp;gt;PIO[0][2] = (IOCON_PIO_FUNC(1) | IOCON_PIO_MODE(2) | &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;IOCON_PIO_DIGIMODE_MASK);&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Set PIO0_3 as MOSI */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;IOCON-&amp;gt;PIO[0][3] = (IOCON_PIO_FUNC(1));&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Set PIO0_4 as SSEL0 */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;IOCON-&amp;gt;PIO[0][4] = (IOCON_PIO_FUNC(8));&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&lt;SPAN style="color: #008000;"&gt;&amp;nbsp;&amp;nbsp;/* Set PIO0_6 as SCK */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;IOCON-&amp;gt;PIO[0][6] = (IOCON_PIO_FUNC(1));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Enable clock to Flexcomm 3 module */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SYSCON-&amp;gt;AHBCLKCTRLX[1] |= SYSCON_AHBCLKCTRL1_FC3_MASK;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Select SPI for Flexcomm 3 interface */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;FLEXCOMM3-&amp;gt;PSELID |= FLEXCOMM_PSELID_PERSEL(2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Set baudrate using division from Flexcomm 3 clock */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI3-&amp;gt;DIV = SPI_DIV_DIVVAL(SPI3_DIVVAL);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Select master mode and enable loopback operation for testing */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp; SPI3-&amp;gt;CFG = (SPI_CFG_MASTER_MASK | SPI_CFG_LOOP_MASK);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Set up RX and TX FIFOs */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI3-&amp;gt;FIFOCFG |= (SPI_FIFOCFG_EMPTYRX_MASK | SPI_FIFOCFG_EMPTYTX_MASK);&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI3-&amp;gt;FIFOCFG |= (SPI_FIFOCFG_ENABLERX_MASK | SPI_FIFOCFG_ENABLETX_MASK);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Set 2 clocks delay for all */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI3-&amp;gt;DLY = (SPI_DLY_PRE_DELAY(2) | SPI_DLY_POST_DELAY(2) |&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&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;SPI_DLY_FRAME_DELAY(2) | SPI_DLY_TRANSFER_DELAY(2));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Enable SPI3 module */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI3-&amp;gt;CFG |= SPI_CFG_ENABLE_MASK;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MRT0 interrupt and RX TX handler functions are below;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;void MRT0_IRQHandler(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;{&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace; color: #008000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Clear interrupt flag */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;MRT0-&amp;gt;CHANNEL[0].STAT |= MRT_CHANNEL_STAT_INTFLAG_MASK;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace; color: #008000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Call RX Handler */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI3_RxHandler();&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace; color: #008000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Call TX Handler */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI3_TxHandler();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;void SPI3_RxHandler(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;{&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while((SPI3-&amp;gt;FIFOSTAT &amp;amp; SPI_FIFOSTAT_RXNOTEMPTY_MASK))&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;readData = (SPI3-&amp;gt;FIFORD);&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;void SPI3_TxHandler(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;{&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI3-&amp;gt;FIFOWR = (SPI_FIFOWR_TXDATA(0xAA) | SPI3_FIFO_CFG0_EOT);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;with the &lt;STRONG&gt;SPI3_FIFO_CFG0_EOT&lt;/STRONG&gt; symbol defined as;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;/* Assert SSEL0, de-assert SSEL0 after transfer, 8 bit data length */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;#define SPI3_FIFO_CFG0_EOT (SPI_FIFOWR_TXSSEL1_N_MASK | \&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&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; SPI_FIFOWR_TXSSEL2_N_MASK | \&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&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; SPI_FIFOWR_TXSSEL3_N_MASK | \&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&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; SPI_FIFOWR_EOT_MASK | \&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&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; SPI_FIFOWR_LEN(7))&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can verify that the MOSI output is working perfectly using a logic analyzer. But&amp;nbsp;&lt;STRONG&gt;FIFORD&lt;/STRONG&gt; always returns &lt;STRONG&gt;RXDATA&lt;/STRONG&gt; as shown below;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_3.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/54151i2C49B5BE85B1A381/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_3.png" alt="pastedImage_3.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SOT&lt;/STRONG&gt; flag is also working normally when I try sending and receiving of multiple bytes at a time. But &lt;STRONG&gt;RXSSELX_N&lt;/STRONG&gt; flags and &lt;STRONG&gt;RXDATA&lt;/STRONG&gt; is always showing the same values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried disabling loopback mode and tied MISO and MOSI externally, the result was still same. Clearly I am missing something here but I cannot see what.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would appreciate if anyone&amp;nbsp;would suggest anything.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;Burak&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 07 May 2020 10:51:54 GMT</pubDate>
    <dc:creator>burakgorduk1</dc:creator>
    <dc:date>2020-05-07T10:51:54Z</dc:date>
    <item>
      <title>LPC55S16: SPI RX FIFO reads only zeros</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S16-SPI-RX-FIFO-reads-only-zeros/m-p/1056911#M40915</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi there,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to set up SPI3 on LPC55S16-EVK board using my own initialization function. This is a really simple application with peripheral initialization functions and&amp;nbsp; MRT0 interrupt that basically handles the sending and receiving of 1 byte data. SPI is configured as loopback mode so that I can verify my driver is working.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below is my initialization function;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;void Init_SPI3(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;{&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&lt;SPAN style="color: #008000;"&gt;&amp;nbsp;&amp;nbsp;/* Select 12MHz FRO as Flexcomm 3 clock */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SYSCON-&amp;gt;FCCLKSELX[3] = SYSCON_FCCLKSEL3_SEL(2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Reset Flexcomm 3 peripheral */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SYSCON-&amp;gt;PRESETCTRLSET[1] = SYSCON_PRESETCTRLSET_DATA(1 &amp;lt;&amp;lt; 14);&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while(!(SYSCON-&amp;gt;PRESETCTRLX[1] &amp;amp; SYSCON_PRESETCTRL1_FC3_RST_MASK))&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;asm("nop");&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SYSCON-&amp;gt;PRESETCTRLCLR[1] = SYSCON_PRESETCTRLCLR_DATA(1 &amp;lt;&amp;lt; 14);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Set PIO0_2 as MISO */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;IOCON-&amp;gt;PIO[0][2] = (IOCON_PIO_FUNC(1) | IOCON_PIO_MODE(2) | &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;IOCON_PIO_DIGIMODE_MASK);&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Set PIO0_3 as MOSI */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;IOCON-&amp;gt;PIO[0][3] = (IOCON_PIO_FUNC(1));&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Set PIO0_4 as SSEL0 */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;IOCON-&amp;gt;PIO[0][4] = (IOCON_PIO_FUNC(8));&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&lt;SPAN style="color: #008000;"&gt;&amp;nbsp;&amp;nbsp;/* Set PIO0_6 as SCK */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;IOCON-&amp;gt;PIO[0][6] = (IOCON_PIO_FUNC(1));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Enable clock to Flexcomm 3 module */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SYSCON-&amp;gt;AHBCLKCTRLX[1] |= SYSCON_AHBCLKCTRL1_FC3_MASK;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Select SPI for Flexcomm 3 interface */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;FLEXCOMM3-&amp;gt;PSELID |= FLEXCOMM_PSELID_PERSEL(2);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Set baudrate using division from Flexcomm 3 clock */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI3-&amp;gt;DIV = SPI_DIV_DIVVAL(SPI3_DIVVAL);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Select master mode and enable loopback operation for testing */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp; SPI3-&amp;gt;CFG = (SPI_CFG_MASTER_MASK | SPI_CFG_LOOP_MASK);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Set up RX and TX FIFOs */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI3-&amp;gt;FIFOCFG |= (SPI_FIFOCFG_EMPTYRX_MASK | SPI_FIFOCFG_EMPTYTX_MASK);&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI3-&amp;gt;FIFOCFG |= (SPI_FIFOCFG_ENABLERX_MASK | SPI_FIFOCFG_ENABLETX_MASK);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt; &lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Set 2 clocks delay for all */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI3-&amp;gt;DLY = (SPI_DLY_PRE_DELAY(2) | SPI_DLY_POST_DELAY(2) |&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&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;SPI_DLY_FRAME_DELAY(2) | SPI_DLY_TRANSFER_DELAY(2));&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Enable SPI3 module */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI3-&amp;gt;CFG |= SPI_CFG_ENABLE_MASK;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MRT0 interrupt and RX TX handler functions are below;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;void MRT0_IRQHandler(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;{&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace; color: #008000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Clear interrupt flag */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;MRT0-&amp;gt;CHANNEL[0].STAT |= MRT_CHANNEL_STAT_INTFLAG_MASK;&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace; color: #008000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Call RX Handler */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI3_RxHandler();&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace; color: #008000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* Call TX Handler */&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI3_TxHandler();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;void SPI3_RxHandler(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;{&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while((SPI3-&amp;gt;FIFOSTAT &amp;amp; SPI_FIFOSTAT_RXNOTEMPTY_MASK))&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;readData = (SPI3-&amp;gt;FIFORD);&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;void SPI3_TxHandler(void)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;{&lt;/SPAN&gt;&lt;BR /&gt; &lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SPI3-&amp;gt;FIFOWR = (SPI_FIFOWR_TXDATA(0xAA) | SPI3_FIFO_CFG0_EOT);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;with the &lt;STRONG&gt;SPI3_FIFO_CFG0_EOT&lt;/STRONG&gt; symbol defined as;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN style="color: #008000; font-family: 'courier new', courier, monospace;"&gt;/* Assert SSEL0, de-assert SSEL0 after transfer, 8 bit data length */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&gt;#define SPI3_FIFO_CFG0_EOT (SPI_FIFOWR_TXSSEL1_N_MASK | \&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&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; SPI_FIFOWR_TXSSEL2_N_MASK | \&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&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; SPI_FIFOWR_TXSSEL3_N_MASK | \&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&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; SPI_FIFOWR_EOT_MASK | \&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: 'courier new', courier, monospace;"&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; SPI_FIFOWR_LEN(7))&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can verify that the MOSI output is working perfectly using a logic analyzer. But&amp;nbsp;&lt;STRONG&gt;FIFORD&lt;/STRONG&gt; always returns &lt;STRONG&gt;RXDATA&lt;/STRONG&gt; as shown below;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_3.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/54151i2C49B5BE85B1A381/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_3.png" alt="pastedImage_3.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SOT&lt;/STRONG&gt; flag is also working normally when I try sending and receiving of multiple bytes at a time. But &lt;STRONG&gt;RXSSELX_N&lt;/STRONG&gt; flags and &lt;STRONG&gt;RXDATA&lt;/STRONG&gt; is always showing the same values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried disabling loopback mode and tied MISO and MOSI externally, the result was still same. Clearly I am missing something here but I cannot see what.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would appreciate if anyone&amp;nbsp;would suggest anything.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;Burak&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 May 2020 10:51:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S16-SPI-RX-FIFO-reads-only-zeros/m-p/1056911#M40915</guid>
      <dc:creator>burakgorduk1</dc:creator>
      <dc:date>2020-05-07T10:51:54Z</dc:date>
    </item>
    <item>
      <title>Re: LPC55S16: SPI RX FIFO reads only zeros</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S16-SPI-RX-FIFO-reads-only-zeros/m-p/1056912#M40916</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi again.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This turned out to be a really interesting thing. Well, I left SPI aside for a while and started setting up the I2C. To my surprise I had also problems with that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Basically when I start a transfer using&amp;nbsp;&lt;STRONG&gt;MSTSTART&lt;/STRONG&gt; bit,&amp;nbsp;&lt;STRONG&gt;MSTPENDING&lt;/STRONG&gt; flag is cleared but then nothing happened. Transfer didn't start and the&amp;nbsp;&lt;STRONG&gt;MSTPENDING&lt;/STRONG&gt; flag is stayed 0 forever.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I compared my code with the example and realized that for the SCL and SDA pins&amp;nbsp;&lt;STRONG&gt;DIGIMODE&lt;/STRONG&gt; was enabled on the example project. When I enabled&amp;nbsp;&lt;STRONG&gt;DIGIMODE&lt;/STRONG&gt; I2C starting working normally! Description for this mode says that it is for enabling the digital input.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_3.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/105820iBF0E2557367060AE/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_3.png" alt="pastedImage_3.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Since I was using I2C on master mode, I thought then I could disable it on my SCL pin since it is an output for this scheme. But again I2C gets stuck if I disable&amp;nbsp;&lt;STRONG&gt;DIGIMODE&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then I went on and enabled digital mode on all of my SPI pins (Previously it was only enabled on MISO). And what you expect: It is working perfectly fine!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To be fare, Table 637 on the UM &lt;SPAN style="text-decoration: underline;"&gt;suggests&lt;/SPAN&gt; that digital mode is&amp;nbsp;&lt;SPAN style="text-decoration: underline;"&gt;generally set to 1 for SPI operation.&lt;/SPAN&gt; And table 343 suggests enabling digital mode for I2C operation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_5.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/106046i8ACC078C0186B084/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_5.png" alt="pastedImage_5.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;But In my case this is not optional. I &lt;SPAN style="text-decoration: underline;"&gt;had&lt;/SPAN&gt; to enable digital mode otherwise SPI module could output the data but read zeros only. And for the I2C, as I explained, the module stopped working completely.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am not sure if this is a feature or design flaw. I would expect the UM&amp;nbsp;to put more emphasis on the importance of&amp;nbsp;&lt;STRONG&gt;DIGIMODE&lt;/STRONG&gt; if this is a feature. Because from the description you would think that this is only for the digital inputs. But for both the I2C and SPI to work correctly, it was required even for the outputs.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 May 2020 08:58:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S16-SPI-RX-FIFO-reads-only-zeros/m-p/1056912#M40916</guid>
      <dc:creator>burakgorduk1</dc:creator>
      <dc:date>2020-05-08T08:58:14Z</dc:date>
    </item>
    <item>
      <title>Re: LPC55S16: SPI RX FIFO reads only zeros</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S16-SPI-RX-FIFO-reads-only-zeros/m-p/1056913#M40917</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello &lt;A _jive_internal="true" data-content-finding="Community" data-userid="358873" data-username="burakgorduk@gmail.com" href="https://community.nxp.com/people/burakgorduk@gmail.com"&gt;Burak Gördük&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;I recommend you first test the SPI demo under SDK, it&amp;nbsp; also use SPI3 .&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools/mcuxpresso-software-development-kit-sdk:MCUXpresso-SDK" title="https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools/mcuxpresso-software-development-kit-sdk:MCUXpresso-SDK"&gt;MCUXpresso SDK | Software Development for Kinetis, LPC, and i.MX MCUs | NXP&lt;/A&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then compare the SPI configuration with your code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Alice&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 May 2020 09:14:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S16-SPI-RX-FIFO-reads-only-zeros/m-p/1056913#M40917</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2020-05-08T09:14:16Z</dc:date>
    </item>
    <item>
      <title>Re: LPC55S16: SPI RX FIFO reads only zeros</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S16-SPI-RX-FIFO-reads-only-zeros/m-p/1056914#M40918</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Burak,&lt;/P&gt;&lt;P&gt;The DIGIMODE need set to 1 to enable digital mode as long as the pin used as digital signal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;Alice&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 May 2020 02:13:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S16-SPI-RX-FIFO-reads-only-zeros/m-p/1056914#M40918</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2020-05-13T02:13:07Z</dc:date>
    </item>
    <item>
      <title>Re: LPC55S16: SPI RX FIFO reads only zeros</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S16-SPI-RX-FIFO-reads-only-zeros/m-p/1717219#M54004</link>
      <description>&lt;P&gt;I have been scratching my head about this exact same thing, but for a slightly different processor — for SPI3 on LPC55S26.&lt;/P&gt;&lt;P&gt;I have used two other FlexComms on the processor for their USART function, and did not encounter this issue with USART.&lt;/P&gt;&lt;P&gt;This is a "gotcha" that took a few hours of my time, and fortunately I eventually found this forum post. I reckon it should be made clearer in the user manual for these processors.&lt;/P&gt;</description>
      <pubDate>Tue, 05 Sep 2023 13:12:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC55S16-SPI-RX-FIFO-reads-only-zeros/m-p/1717219#M54004</guid>
      <dc:creator>craigmcqueenir</dc:creator>
      <dc:date>2023-09-05T13:12:29Z</dc:date>
    </item>
  </channel>
</rss>

