<?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>topic Re: Need help for SPI FIFO on 56F8037 in Other NXP Products</title>
    <link>https://community.nxp.com/t5/Other-NXP-Products/Need-help-for-SPI-FIFO-on-56F8037/m-p/160497#M821</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I check LED1/LED2/LED3 status with scope, find DSP work in Interrupt Service Routine, with LED3 always toggle it's status. LED2 and LED1 correct. But I don't know what is the interrupt source.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;who can give me a hand, thanks all.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 10 Mar 2009 18:27:12 GMT</pubDate>
    <dc:creator>JerryLe</dc:creator>
    <dc:date>2009-03-10T18:27:12Z</dc:date>
    <item>
      <title>Need help for SPI FIFO on 56F8037</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/Need-help-for-SPI-FIFO-on-56F8037/m-p/160496#M820</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I set &lt;STRONG&gt;Slave&lt;/STRONG&gt; mode in 56F8037, set receive FIFO 2words, transmite FIFO 2words。&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DSP work into it's Interrupt Service Routine(void SS1_InterruptRx(void)) all the time.&lt;/P&gt;&lt;P&gt;Why? Is there any bug in FIFO control on 56F8037? or my code problem?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I modify source from code generated by PE. Code as below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void SS1_Init(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; /* QSPI0_SCTRL: SPR2=0,SPR1=0,SPR0=0,DSO=0,ERRIE=0,MODFEN=0,SPRIE=0,SPMSTR=0,CPOL=1,CPHA=1,SPE=0,SPTIE=0,SPRF=0,OVRF=0,MODF=1,SPTE=0 */&lt;BR /&gt;&amp;nbsp; setReg(QSPI0_SCTRL,0xC2);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set control register */&lt;BR /&gt;&amp;nbsp; /* QSPI0_DSCTRL: WOM=0,??=0,??=0,BD2X=0,SS_IN=0,SS_DATA=0,SS_ODM=0,SS_AUTO=0,SS_DDR=0,SS_STRB=0,SS_OVER=0,??=0,DS3=1,DS2=1,DS1=1,DS0=1 */&lt;BR /&gt;&amp;nbsp; setReg(QSPI0_DSCTRL,0x0F);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set data size and control register */&lt;BR /&gt;&amp;nbsp; /* ??=0, TRWM1=1, TRWM0=0, ??=0, RFWM1=0, RFWM0=1, ??=0, FIFO_ENA=1 */&lt;BR /&gt;&amp;nbsp; setReg(QSPI0_FIFO,0x45);&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; /* Set FIFO register. ljr.add 2009.3.10 */&lt;BR /&gt;&amp;nbsp; SerFlag = 0;&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; /* Reset all flags */&lt;BR /&gt;&amp;nbsp; ErrFlag = 0;&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; /* Reset all flags in mirror */&lt;BR /&gt;&amp;nbsp; SS1_EnEvent = FALSE;&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; /* Disable events */&lt;BR /&gt;&amp;nbsp; EnUser = FALSE;&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; /* Disable device */&lt;BR /&gt;&amp;nbsp; SS1_InpLen = 0;&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; /* No char in the receive buffer */&lt;BR /&gt;&amp;nbsp; InpPtrW = InpPtrR = InpBuffer;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set pointer on the first item in the receive buffer */&lt;BR /&gt;&amp;nbsp; SS1_OutLen = 0;&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; /* No char in the transmit buffer */&lt;BR /&gt;&amp;nbsp; OutPtrW = OutPtrR = OutBuffer;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set pointer on the first item in the transmit buffer */&lt;BR /&gt;&amp;nbsp; HWEnDi();&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable/disable device according to the status flags */&lt;BR /&gt;&amp;nbsp; setReg(QSPI0_DXMIT,0xFF);&lt;BR /&gt;}&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Interrupt service routine code:&lt;/P&gt;&lt;P&gt;dword dwDataWT[128]={0};&lt;BR /&gt;dword dwDataRD[128]={0};&lt;BR /&gt;#pragma interrupt alignsp saveall&lt;BR /&gt;void SS1_InterruptRx(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; register word Data1;&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; /* Temporary variable for data */&lt;BR /&gt;&amp;nbsp; register word Data2;&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; /* Temporary variable for data */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; LED3_On();&lt;/P&gt;&lt;P&gt;&amp;nbsp; getReg(QSPI0_SCTRL);&lt;BR /&gt;&amp;nbsp; if (getRegBit(QSPI0_SCTRL,OVRF))&amp;nbsp;&amp;nbsp; /* Occured any overflow condition between QSPI0_SCTRL and QSPI0_DRCV reading? */&lt;BR /&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED1_On();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; getReg(QSPI0_DRCV);&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; /* Clear the overflow flag */&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; if (getRegBit(QSPI0_SCTRL,MODF))&lt;BR /&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; LED1_On();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; setRegBit(QSPI0_SCTRL,MODF);&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; if (getRegBit(QSPI0_SCTRL, SPTE))&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; LED2_On();&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; if (getRegBit(QSPI0_SCTRL,SPRF))&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; LED1_On();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data1 = getReg(QSPI0_DRCV);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Read data from receiver */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data2 = getReg(QSPI0_DRCV);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Read data from receiver */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Data1&amp;amp;0x8000)//ARM要读DSP的数据&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data2 = (Data1&amp;gt;&amp;gt;8)&amp;amp;0x007F;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setReg(QSPI0_DXMIT, (word)(dwDataRD[Data2]&amp;gt;&amp;gt;16));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setReg(QSPI0_DXMIT, (word)dwDataRD[Data2]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else //ARM写数据给DSP&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dwDataWT[Data1&amp;gt;&amp;gt;8] = (dword)Data1&amp;lt;&amp;lt;16+(dword)Data2;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setReg(QSPI0_DXMIT,0xFFFF);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setReg(QSPI0_DXMIT,0xFFFF);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; LED3_Off();&lt;BR /&gt;&amp;nbsp; LED2_Off();&lt;BR /&gt;&amp;nbsp; LED1_Off();&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Mar 2009 18:22:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/Need-help-for-SPI-FIFO-on-56F8037/m-p/160496#M820</guid>
      <dc:creator>JerryLe</dc:creator>
      <dc:date>2009-03-10T18:22:01Z</dc:date>
    </item>
    <item>
      <title>Re: Need help for SPI FIFO on 56F8037</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/Need-help-for-SPI-FIFO-on-56F8037/m-p/160497#M821</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I check LED1/LED2/LED3 status with scope, find DSP work in Interrupt Service Routine, with LED3 always toggle it's status. LED2 and LED1 correct. But I don't know what is the interrupt source.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;who can give me a hand, thanks all.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Mar 2009 18:27:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/Need-help-for-SPI-FIFO-on-56F8037/m-p/160497#M821</guid>
      <dc:creator>JerryLe</dc:creator>
      <dc:date>2009-03-10T18:27:12Z</dc:date>
    </item>
    <item>
      <title>Re: Need help for SPI FIFO on 56F8037</title>
      <link>https://community.nxp.com/t5/Other-NXP-Products/Need-help-for-SPI-FIFO-on-56F8037/m-p/160498#M822</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;after i set interrupt priority to medium priority, and rewrite ISR, it ok now.&lt;/P&gt;&lt;P&gt;but i don't know the reason yet.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;dword dwDataWT[128]={0};&lt;BR /&gt;dword dwDataRD[128]={0};&lt;BR /&gt;#pragma interrupt alignsp saveall&lt;BR /&gt;void SS1_InterruptRx(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; register word Data1;&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; /* Temporary variable for data */&lt;BR /&gt;&amp;nbsp; register word Data2;&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; /* Temporary variable for data */&lt;BR /&gt;&amp;nbsp; register word index;&lt;BR /&gt;&amp;nbsp; LED3_On();&lt;BR /&gt;&amp;nbsp; getReg(QSPI0_SCTRL);&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; /* Dummy read the device error register */&lt;BR /&gt;&amp;nbsp; Data1 = getReg(QSPI0_DRCV);&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; /* Dummy read data from receiver */&lt;BR /&gt;&amp;nbsp; Data2 = getReg(QSPI0_DRCV);&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; /* Dummy read data from receiver */&lt;BR /&gt;&amp;nbsp; if (getRegBit(QSPI0_SCTRL,OVRF)) {&amp;nbsp;&amp;nbsp; /* Occured any overflow condition between QSPI0_SCTRL and QSPI0_DRCV reading? */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; getReg(QSPI0_DRCV);&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; /* Clear the overflow flag */&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; index = (Data1&amp;gt;&amp;gt;8)&amp;amp;0x007F;&lt;BR /&gt;&amp;nbsp; if (Data1&amp;amp;0x8000)//ARM要读DSP的数据&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; setReg(QSPI0_DXMIT, (word)(dwDataRD[index]&amp;gt;&amp;gt;16));&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; setReg(QSPI0_DXMIT, (word)dwDataRD[index]);&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; else //ARM写数据给DSP&lt;BR /&gt;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dwDataWT[index] = Data1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dwDataWT[index]&amp;lt;&amp;lt;=16;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dwDataWT[index]+= Data2;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; setReg(QSPI0_DXMIT,0xFFFF);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; setReg(QSPI0_DXMIT,0xFFFF);&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; LED3_Off();&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void SS1_Init(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; /* QSPI0_SCTRL: SPR2=0,SPR1=0,SPR0=0,DSO=0,ERRIE=0,MODFEN=0,SPRIE=0,SPMSTR=0,CPOL=1,CPHA=1,SPE=0,SPTIE=0,SPRF=0,OVRF=0,MODF=1,SPTE=0 */&lt;BR /&gt;&amp;nbsp; setReg(QSPI0_SCTRL,0xC2);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set control register */&lt;BR /&gt;&amp;nbsp; /* QSPI0_DSCTRL: WOM=0,??=0,??=0,BD2X=0,SS_IN=0,SS_DATA=0,SS_ODM=0,SS_AUTO=0,SS_DDR=0,SS_STRB=0,SS_OVER=0,??=0,DS3=1,DS2=1,DS1=1,DS0=1 */&lt;BR /&gt;&amp;nbsp; setReg(QSPI0_DSCTRL,0x0F);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set data size and control register */&lt;BR /&gt;&amp;nbsp; setReg(QSPI0_FIFO,0x45);&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; /* Set FIFO register. ljr.add 2009.3.10 */&lt;BR /&gt;&amp;nbsp; setRegBit(QSPI0_SCTRL,SPE);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Enable device */&lt;BR /&gt;&amp;nbsp; setReg(QSPI0_DXMIT,SS1_EOF);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Store the empty char to the transmit register */&lt;BR /&gt;&amp;nbsp; setRegBits(QSPI0_SCTRL,(QSPI0_SCTRL_ERRIE_MASK|QSPI0_SCTRL_SPRIE_MASK)); /* Enable receive and error interrupts */&lt;BR /&gt;&amp;nbsp; /* ??=0, TRWM1=1, TRWM0=0, ??=0, RFWM1=0, RFWM0=1, ??=0, FIFO_ENA=1 */&lt;BR /&gt;}&lt;BR /&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Mar 2009 10:10:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Other-NXP-Products/Need-help-for-SPI-FIFO-on-56F8037/m-p/160498#M822</guid>
      <dc:creator>JerryLe</dc:creator>
      <dc:date>2009-03-11T10:10:07Z</dc:date>
    </item>
  </channel>
</rss>

