<?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 Mode --PCS keep low for any number of bytes in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401136#M22286</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rong,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I write this code to do SPI data,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;spiMasterDevData = SM1_Init(NULL); &lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;...&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;SM1_SendBlock(spiMasterDevData, &amp;amp;CMDData[0], 4);&lt;/EM&gt;&lt;/STRONG&gt; ==&amp;gt;SPI sending 4 data, the PCS goes high 3 times.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I am concern is which PE generated function can keep PCS low during SPI many bytes of data, or I should write one function by myself?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 16 Jun 2015 08:00:12 GMT</pubDate>
    <dc:creator>rabbitz</dc:creator>
    <dc:date>2015-06-16T08:00:12Z</dc:date>
    <item>
      <title>SPI Mode --PCS keep low for any number of bytes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401128#M22278</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have a peripheral which requires SPI CS "16 bit mode" and "turbo mode". In&amp;nbsp; turbo mode, the CS keep low for any number of bytes sending.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In PE, there are 16 bit mode, the SPI CS keep low during sending the 16 bit bytes, that is achievable.&lt;/P&gt;&lt;P&gt;But in PE&amp;nbsp; SPI "Attribute set" ==&amp;gt; width , there is no such "turbo mode". Does anyone knows how to achieve it?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Jun 2015 01:27:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401128#M22278</guid>
      <dc:creator>rabbitz</dc:creator>
      <dc:date>2015-06-16T01:27:08Z</dc:date>
    </item>
    <item>
      <title>Re: SPI Mode --PCS keep low for any number of bytes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401129#M22279</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello rabbitz,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please tell me which chip and which IDE ?&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>Tue, 16 Jun 2015 02:22:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401129#M22279</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2015-06-16T02:22:13Z</dc:date>
    </item>
    <item>
      <title>Re: SPI Mode --PCS keep low for any number of bytes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401130#M22280</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Chip:&lt;/P&gt;&lt;P&gt;MK20DX128VLH5&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IDE: CodeWarrior 10.6&amp;nbsp; with PE&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Jun 2015 06:12:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401130#M22280</guid>
      <dc:creator>rabbitz</dc:creator>
      <dc:date>2015-06-16T06:12:30Z</dc:date>
    </item>
    <item>
      <title>Re: SPI Mode --PCS keep low for any number of bytes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401131#M22281</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What's meaning about "turbo mode" ?&amp;nbsp; In the reference manual about this chip, i also haven't find it, thank !&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>Tue, 16 Jun 2015 06:23:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401131#M22281</guid>
      <dc:creator>Alice_Yang</dc:creator>
      <dc:date>2015-06-16T06:23:55Z</dc:date>
    </item>
    <item>
      <title>Re: SPI Mode --PCS keep low for any number of bytes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401132#M22282</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;turbo mode&amp;nbsp; ==&amp;gt; PCS keep low during sending any bytes of data.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Jun 2015 06:28:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401132#M22282</guid>
      <dc:creator>rabbitz</dc:creator>
      <dc:date>2015-06-16T06:28:25Z</dc:date>
    </item>
    <item>
      <title>Re: SPI Mode --PCS keep low for any number of bytes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401133#M22283</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Rabbitz,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank you for your feedback.&lt;/P&gt;&lt;P&gt;I see that you use MK20DX128 and CW ver10.6 plus PE. If I understand you correctly, the so-called "turbo mode" is that the /SS of slave SPI is always low, in the case, I suggest you connect a GPIO pin of the master SPI to the /SS pin of the slave SPI, before you transfer data, clear the GPIO, it is okay.&lt;/P&gt;&lt;P&gt;If you do connect the PCSx of master SPI to the /SS pin of the slave spi, your idea is okay to be implemented, from SPI module, if you set the CONT bit(MSB) of SPIx_PUSHR, the PCS pin&amp;nbsp;&amp;nbsp; will always be kept low even between the interval of two SPI transfer.&lt;/P&gt;&lt;P&gt;The PE support the feature, pls select "no" for the 'chip select toggling" as the following figure cut from PE bean.&lt;/P&gt;&lt;P&gt;But I do not think keep PCS low is&amp;nbsp; a good idea because SPI frame lose synchronization for each data.&lt;/P&gt;&lt;P&gt;Hope it can help you.&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;XiangJun Rong&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_0.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/32340i56F8A81AFD830CF0/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_0.png" alt="pastedImage_0.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Jun 2015 06:57:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401133#M22283</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2015-06-16T06:57:58Z</dc:date>
    </item>
    <item>
      <title>Re: SPI Mode --PCS keep low for any number of bytes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401134#M22284</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Just to make it clear.&lt;/P&gt;&lt;P&gt;I my case, the peripheral has two kinds of SPI communication: sending CMD (one 16 bytes CMD), sending Data(maybe many 16 bytes of data).&lt;/P&gt;&lt;P&gt;The PCS is high after SPI communication, PCS is low during SPI communication,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I use PCS rather than a GPIO to control SPI-CS. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if send CMD, the PCS will be low for 16 SPI-CLK period. That is OK, I know how to do it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if sending data, the PCS will be low for&amp;nbsp; &lt;STRONG&gt;16* (Number of bytes sending)&amp;nbsp; SPI-CLK&lt;/STRONG&gt; period ===&amp;gt;this is so called "turbo mode".&amp;nbsp; I don't know how to make PCS low for long period during SPI sending data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Jun 2015 07:14:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401134#M22284</guid>
      <dc:creator>rabbitz</dc:creator>
      <dc:date>2015-06-16T07:14:18Z</dc:date>
    </item>
    <item>
      <title>Re: SPI Mode --PCS keep low for any number of bytes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401135#M22285</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Rabbitz,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maybe you do not understand you mechanism of SPI master transfer, Pls check the 43.3.7 DSPI PUSH TX FIFO Register In Master Mode (SPIx_PUSHR) in reference manual of K20, the SPIx_PUSHR is a 32 bits register, low 16 bits are data bits, high 16 bits are command bits, when you write the 32 bits data(command|data) to the SPIx_PUSHR, the 16 bits data will be written to the SPI shift register and outputted via serial stream via SPI_SOUT pin, while the corresponding PCSx will be driven which is defined in command bits in the SPIx_PUSHR. If the CONT (MSB) bit in SPIx_PUSHR is set, the PCSx will keep low, for example, if you write SPIx_PUSHR register 20 times with the CONT cleared, the PCSx will be low for the 20 words transfer(20*16 bits). Once you clear the CONT bit in the SPIx_PUSHR, the PCS will be high between two SPI transfer interval.&lt;/P&gt;&lt;P&gt;Hope it can help you&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;XiangJun Rong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Jun 2015 07:33:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401135#M22285</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2015-06-16T07:33:53Z</dc:date>
    </item>
    <item>
      <title>Re: SPI Mode --PCS keep low for any number of bytes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401136#M22286</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rong,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I write this code to do SPI data,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;spiMasterDevData = SM1_Init(NULL); &lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;...&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;SM1_SendBlock(spiMasterDevData, &amp;amp;CMDData[0], 4);&lt;/EM&gt;&lt;/STRONG&gt; ==&amp;gt;SPI sending 4 data, the PCS goes high 3 times.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I am concern is which PE generated function can keep PCS low during SPI many bytes of data, or I should write one function by myself?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Jun 2015 08:00:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401136#M22286</guid>
      <dc:creator>rabbitz</dc:creator>
      <dc:date>2015-06-16T08:00:12Z</dc:date>
    </item>
    <item>
      <title>Re: SPI Mode --PCS keep low for any number of bytes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401137#M22287</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rong,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I write this code to send CMD to &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;peripheral and read feedback from it.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt; &lt;EM&gt;SM1_SendBlock(spiMasterDevData, &amp;amp;CMDData[0], 1);&amp;nbsp; //&lt;STRONG&gt;PCS goes LOW, Good&lt;/STRONG&gt;.&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;.........&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;..........&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;SPI_PDD_WriteData16Bits(SPI0_BASE_PTR, 0x00);&amp;nbsp; //SPI-CLK to push data out from peripheral. ==&amp;gt;Get SPI-CLK, &lt;STRONG&gt;but PCS not go LOW???&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;SPI_PDD_EnableDmasInterrupts(SPI0_BASE_PTR, SPI_PDD_RX_FIFO_DRAIN_INT_DMA); /* Enable RX interrupt */&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;SM1_ReceiveBlock(spiMasterDevData, &amp;amp;RxData[0], 1);&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;I can't understand why &lt;STRONG&gt;"&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;SPI_PDD_WriteData16Bits(SPI0_BASE_PTR, 0x00)&lt;/SPAN&gt; " ==&amp;gt;PCS not low&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Sam&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Jun 2015 08:43:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401137#M22287</guid>
      <dc:creator>rabbitz</dc:creator>
      <dc:date>2015-06-16T08:43:55Z</dc:date>
    </item>
    <item>
      <title>Re: SPI Mode --PCS keep low for any number of bytes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401138#M22288</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, Rabbitz,&lt;/P&gt;&lt;P&gt;The following is the macro, obviously, it only writes the Low 16 bits of the SPI_PUSHR, it does not write the High 16 bits of SPI0_PUSHR, that is why the PCS is high during the interval of SPI transfer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define SPI_PDD_WriteData16Bits(PeripheralBase, Data) ( \&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((uint16_t *)&amp;amp;SPI_PUSHR_REG(PeripheralBase)) = (uint16_t)Data \&lt;/P&gt;&lt;P&gt;&amp;nbsp; )&lt;/P&gt;&lt;P&gt;BR&lt;/P&gt;&lt;P&gt;XiangJun Rong&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Jun 2015 09:10:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401138#M22288</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2015-06-16T09:10:09Z</dc:date>
    </item>
    <item>
      <title>Re: SPI Mode --PCS keep low for any number of bytes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401139#M22289</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,Sam,&lt;/P&gt;&lt;P&gt;SPI_PDD_WriteMasterPushTxFIFOReg(SPI0_BASE_PTR, (uint32_t)(*((uint16_t *)DeviceDataPrv-&amp;gt;OutDataPtr) | DeviceDataPrv-&amp;gt;TxCommand)); /* Put a character with command to the transmit register */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The above code is the code to write the pSPI_PUSHR register based on PE in ISR:&lt;/P&gt;&lt;P&gt;PE_ISR(SMasterLdd1_Interrupt)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* {Default RTOS Adapter} ISR parameter is passed through the global variable */&lt;/P&gt;&lt;P&gt;&amp;nbsp; SMasterLdd1_TDeviceDataPtr DeviceDataPrv = INT_SPI0__DEFAULT_RTOS_ISRPARAM;&lt;/P&gt;&lt;P&gt;&amp;nbsp; uint32_t StatReg = SPI_PDD_GetInterruptFlags(SPI0_BASE_PTR); /* Read status register */&lt;/P&gt;&lt;P&gt;&amp;nbsp; uint16_t Data;&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; /* Temporary variable for data */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if ((StatReg &amp;amp; SPI_PDD_RX_FIFO_OVERFLOW_INT) != 0U) { /* Is any error flag set? */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_PDD_ClearInterruptFlags(SPI0_BASE_PTR,SPI_PDD_RX_FIFO_OVERFLOW_INT); /* Clear error flags */&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; if ((StatReg &amp;amp; SPI_PDD_RX_FIFO_DRAIN_INT_DMA) != 0U) { /* Is any char in HW buffer? */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data = (uint16_t)SPI_PDD_ReadPopRxFIFOReg(SPI0_BASE_PTR); /* Read character from receiver */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_PDD_ClearInterruptFlags(SPI0_BASE_PTR,SPI_PDD_RX_FIFO_DRAIN_INT_DMA); /* Clear Rx FIFO drain flags */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (DeviceDataPrv-&amp;gt;InpDataNumReq != 0x00U) { /* Is the receive block operation pending? */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *((uint16_t *)DeviceDataPrv-&amp;gt;InpDataPtr) = Data; /* Put a character to the receive buffer */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DeviceDataPrv-&amp;gt;InpDataPtr += sizeof(uint16_t); /* Increment pointer to the receive buffer */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DeviceDataPrv-&amp;gt;InpRecvDataNum++; /* Increment received char. counter */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (DeviceDataPrv-&amp;gt;InpRecvDataNum == DeviceDataPrv-&amp;gt;InpDataNumReq) { /* Is the requested number of characters received? */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DeviceDataPrv-&amp;gt;InpDataNumReq = 0x00U; /* If yes then clear number of requested characters to be received. */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SMasterLdd1_OnBlockReceived(DeviceDataPrv-&amp;gt;UserData);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; if ((StatReg &amp;amp; SPI_PDD_TX_FIFO_FILL_INT_DMA) != 0U) { /* Is HW buffer empty? */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (DeviceDataPrv-&amp;gt;OutSentDataNum &amp;lt; DeviceDataPrv-&amp;gt;OutDataNumReq) { /* Is number of sent characters less than the number of requested incoming characters? */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DeviceDataPrv-&amp;gt;OutSentDataNum++; /* Increment the counter of sent characters. */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_PDD_WriteMasterPushTxFIFOReg(SPI0_BASE_PTR, (uint32_t)(*((uint16_t *)DeviceDataPrv-&amp;gt;OutDataPtr) | DeviceDataPrv-&amp;gt;TxCommand)); /* Put a character with command to the transmit register */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DeviceDataPrv-&amp;gt;OutDataPtr += sizeof(uint16_t); /* Increment pointer to the transmitt buffer */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (DeviceDataPrv-&amp;gt;OutSentDataNum == DeviceDataPrv-&amp;gt;OutDataNumReq) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DeviceDataPrv-&amp;gt;OutDataNumReq = 0x00U; /* Clear the counter of characters to be send by SendBlock() */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SMasterLdd1_OnBlockSent(DeviceDataPrv-&amp;gt;UserData);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_PDD_DisableDmasInterrupts(SPI0_BASE_PTR, SPI_PDD_TX_FIFO_FILL_INT_DMA); /* Disable TX interrupt */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI_PDD_ClearInterruptFlags(SPI0_BASE_PTR,SPI_PDD_TX_FIFO_FILL_INT_DMA); /* Clear Tx FIFO fill flags */&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 16 Jun 2015 09:14:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401139#M22289</guid>
      <dc:creator>xiangjun_rong</dc:creator>
      <dc:date>2015-06-16T09:14:30Z</dc:date>
    </item>
    <item>
      <title>Re: SPI Mode --PCS keep low for any number of bytes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401140#M22290</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rong,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks. It works now, I made a mistake for set the"Chip Select Toggling" to "YES".&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sam&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Jun 2015 07:10:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/SPI-Mode-PCS-keep-low-for-any-number-of-bytes/m-p/401140#M22290</guid>
      <dc:creator>rabbitz</dc:creator>
      <dc:date>2015-06-17T07:10:40Z</dc:date>
    </item>
  </channel>
</rss>

