<?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: SPI as slave interface hanging after 2 to 3 minutes. in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-as-slave-interface-hanging-after-2-to-3-minutes/m-p/953913#M54849</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi vijith,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I understand correctly your statement is right, the default value in the slave Shift register is 0, so you will need to do a dummy send to push this value every time the buffer is empty. That's why you see the last value from the first transmission in your second&amp;nbsp;transmission.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will suggest to check the SDK example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Alexis Andalon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 31 Jul 2019 23:09:47 GMT</pubDate>
    <dc:creator>Alexis_A</dc:creator>
    <dc:date>2019-07-31T23:09:47Z</dc:date>
    <item>
      <title>SPI as slave interface hanging after 2 to 3 minutes.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-as-slave-interface-hanging-after-2-to-3-minutes/m-p/953908#M54844</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using&amp;nbsp; MKE02Z32VFM4 microcontroller for the development of project. I have to use spi interface as master&amp;nbsp; for accessing data from an ADC. Another spi as slave to receive commands from the master. Currently I am facing an issue i.e. After 2 or 3 minutes slave spi getting hanged on SPI_IsSPRF. My configuration for SPI 1&lt;/P&gt;&lt;P&gt;SPI_ConfigType sSPIConfig1 = {0};&lt;/P&gt;&lt;P&gt;/* initialize SPI1 as slave */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sSPIConfig1.u32BitRate&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; = 1000000;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sSPIConfig1.u32BusClkHz&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; = BUS_CLK_HZ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sSPIConfig1.sSettings.bShiftLSBFirst&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sSPIConfig1.sSettings.bMasterMode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sSPIConfig1.sSettings.bClkPolarityLow&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sSPIConfig1.sSettings.bClkPhase1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sSPIConfig1.sSettings.bMasterAutoDriveSS&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sSPIConfig1.sSettings.bIntEn&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; = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sSPIConfig1.sSettings.bModuleEn&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; sSPIConfig1.sSettings.bMatchIntEn&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //SPI_ModfEnable(SPI1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; // SPI_SSOutputDisable(SPI1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_Init(SPI1, &amp;amp;sSPIConfig1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_SetCallback(SPI1,SPI_Task);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Master SPI spi0 works fine. But slaves causes problem for me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;in interrupt service routine&amp;nbsp; called this function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ResultType SPI_Transfer_Wait(SPI_Type *pSPI, SPI_WidthType *pRdBuff, SPI_WidthType *pWrBuff,uint32 uiLength)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ResultType err = SPI_ERR_SUCCESS;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t&amp;nbsp; i;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(!uiLength)&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; return (err);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for(i = 0; i &amp;lt; uiLength; i++)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(!SPI_IsSPTEF(pSPI))&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; if(iCount&amp;gt;=1)&lt;BR /&gt;&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; iCount=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; goto SPS;&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_WriteDataReg(pSPI,pWrBuff[i]);&lt;BR /&gt;SPS:&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; while(!SPI_IsSPRF(pSPI))&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; if(iCount&amp;gt;=1)&lt;BR /&gt;&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; iCount=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;&amp;nbsp; goto SOS;&lt;BR /&gt;&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; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pRdBuff[i] = SPI_ReadDataReg(pSPI);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;SOS:&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; }&lt;BR /&gt;&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; return (err);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please let me know what change I have to make.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Jul 2019 07:17:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-as-slave-interface-hanging-after-2-to-3-minutes/m-p/953908#M54844</guid>
      <dc:creator>vijith_g1</dc:creator>
      <dc:date>2019-07-23T07:17:59Z</dc:date>
    </item>
    <item>
      <title>Re: SPI as slave interface hanging after 2 to 3 minutes.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-as-slave-interface-hanging-after-2-to-3-minutes/m-p/953909#M54845</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/vijith.g@honeywell.com"&gt;vijith.g@honeywell.com&lt;/A&gt;‌,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At first glance your configuration looks good,&amp;nbsp;I&amp;nbsp;think&amp;nbsp;that your implementing the SPI using polling,&amp;nbsp;I will suggest to check the SDK example from this board, there's an example of how to do it&amp;nbsp;through interruptions, this is very useful if you want to do other operations while its waiting&amp;nbsp;to receive something.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The SDK can be downloaded from the next link:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://mcuxpresso.nxp.com/en/welcome" title="https://mcuxpresso.nxp.com/en/welcome"&gt;Welcome | MCUXpresso SDK Builder&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, could you check if the clock line is in his idle state? If this is not the case its posible that the slave is the reason of this issue.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know if this helps you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Alexis Andalon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jul 2019 21:22:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-as-slave-interface-hanging-after-2-to-3-minutes/m-p/953909#M54845</guid>
      <dc:creator>Alexis_A</dc:creator>
      <dc:date>2019-07-25T21:22:47Z</dc:date>
    </item>
    <item>
      <title>Re: SPI as slave interface hanging after 2 to 3 minutes.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-as-slave-interface-hanging-after-2-to-3-minutes/m-p/953910#M54846</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I resolved the hanging issue. Thank you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But now&amp;nbsp; I am facing another issue. As a slave &amp;nbsp;when I was trying to send 4 bytes of data ,&amp;nbsp;in master side I was&amp;nbsp;getting only&amp;nbsp;three bytes of data.&lt;/P&gt;&lt;P&gt;For ex :&lt;/P&gt;&lt;P&gt;I&amp;nbsp;was sending from slave :&amp;nbsp; 01 02 03 04&lt;/P&gt;&lt;P&gt;Master receives data as :&amp;nbsp; 00&amp;nbsp;01 02&amp;nbsp;03&amp;nbsp;&lt;/P&gt;&lt;P&gt;After the second read&amp;nbsp; I will get &amp;nbsp;in master side as 04 01 02 03.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is default data 0x00 available in SPI&amp;nbsp;Tx buffer&amp;nbsp;. &amp;nbsp;when the data arrives from the master , the slave will send the default data ie 0x00.&lt;/P&gt;&lt;P&gt;After that&amp;nbsp;the&amp;nbsp;SPI slave &amp;nbsp;will send the rest of the data.&lt;/P&gt;&lt;P&gt;Please let me know&amp;nbsp;how will I resolve this issue&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jul 2019 13:46:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-as-slave-interface-hanging-after-2-to-3-minutes/m-p/953910#M54846</guid>
      <dc:creator>vijith_g1</dc:creator>
      <dc:date>2019-07-30T13:46:00Z</dc:date>
    </item>
    <item>
      <title>Re: SPI as slave interface hanging after 2 to 3 minutes.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-as-slave-interface-hanging-after-2-to-3-minutes/m-p/953911#M54847</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/vijith.g@honeywell.com" rel="nofollow noopener noreferrer" target="_blank"&gt;vijith.g@honeywell.com&lt;/A&gt;‌,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When&amp;nbsp;the buffer in SPI is empty you will need a dummy byte at the start of your transmission, if you check the driver from the SDK this is implemented in the function&amp;nbsp;SPI_WriteNonBlocking:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;while&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;i &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt; size&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;buffer &lt;SPAN class="operator token"&gt;!=&lt;/SPAN&gt; NULL&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#if defined(FSL_FEATURE_SPI_16BIT_TRANSFERS) &amp;amp;&amp;amp; FSL_FEATURE_SPI_16BIT_TRANSFERS&lt;/SPAN&gt;
        &lt;SPAN class="comment token"&gt;/*16 bit mode*/&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;base&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;C2 &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt; SPI_C2_SPIMODE_MASK&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
            base&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;DL &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;buffer&lt;SPAN class="operator token"&gt;++&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
            base&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;DH &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;buffer&lt;SPAN class="operator token"&gt;++&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
        &lt;SPAN class="comment token"&gt;/* 8 bit mode */&lt;/SPAN&gt;
        &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
            base&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;DL &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;buffer&lt;SPAN class="operator token"&gt;++&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
        &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#else&lt;/SPAN&gt;
        base&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;D   &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;buffer&lt;SPAN class="operator token"&gt;++&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="property macro token"&gt;#endif &lt;/SPAN&gt;&lt;SPAN class="comment token"&gt;/* FSL_FEATURE_SPI_16BIT_TRANSFERS */&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
    &lt;SPAN class="comment token"&gt;/* Send dummy data */&lt;/SPAN&gt;
    &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
        &lt;SPAN class="token function"&gt;SPI_WriteData&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;base&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;uint32_t&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;g_spiDummyData&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;instance&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;lt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;8&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;|&lt;/SPAN&gt; g_spiDummyData&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;instance&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
    &lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;
    i &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; bytesPerFrame&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First check if the buffer is empty and if this is the case, it will send a dummy byte.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will suggest to check the SPI driver from the SDK for more information.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Alexis Andalon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jul 2019 20:29:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-as-slave-interface-hanging-after-2-to-3-minutes/m-p/953911#M54847</guid>
      <dc:creator>Alexis_A</dc:creator>
      <dc:date>2019-07-30T20:29:31Z</dc:date>
    </item>
    <item>
      <title>Re: SPI as slave interface hanging after 2 to 3 minutes.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-as-slave-interface-hanging-after-2-to-3-minutes/m-p/953912#M54848</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the response.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I already used above logic in my source code. But it did not help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There is a correction in my previous post.&lt;/P&gt;&lt;P&gt;That is&amp;nbsp; There is a default data 0x00 available in SPI&amp;nbsp;slave shift register&amp;nbsp;not in SPI TX buffer. &amp;nbsp;when the data arrives from the&amp;nbsp; master , the slave will send the default data ie. 0x00. The data which intend to send will write in to the shift register after that only.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the case of first byte, the data in the SPI shift register not updating after writing in to the SPI slave&amp;nbsp;Tx buffer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SPI slave Tx Buffer[Write]&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \|/&lt;/P&gt;&lt;P&gt;SPI&amp;nbsp; slave Shift register&amp;nbsp;&amp;nbsp; &amp;nbsp;--&amp;nbsp;&amp;gt;&amp;nbsp;&amp;nbsp; to master SPI&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \|/&lt;/P&gt;&lt;P&gt;SPI slave Rx buffer [Read]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want a solution for this issue. Please let me know.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Jul 2019 13:09:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-as-slave-interface-hanging-after-2-to-3-minutes/m-p/953912#M54848</guid>
      <dc:creator>vijith_g1</dc:creator>
      <dc:date>2019-07-31T13:09:33Z</dc:date>
    </item>
    <item>
      <title>Re: SPI as slave interface hanging after 2 to 3 minutes.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-as-slave-interface-hanging-after-2-to-3-minutes/m-p/953913#M54849</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi vijith,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I understand correctly your statement is right, the default value in the slave Shift register is 0, so you will need to do a dummy send to push this value every time the buffer is empty. That's why you see the last value from the first transmission in your second&amp;nbsp;transmission.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will suggest to check the SDK example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Alexis Andalon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 31 Jul 2019 23:09:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-as-slave-interface-hanging-after-2-to-3-minutes/m-p/953913#M54849</guid>
      <dc:creator>Alexis_A</dc:creator>
      <dc:date>2019-07-31T23:09:47Z</dc:date>
    </item>
  </channel>
</rss>

