<?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>Kinetis MicrocontrollersのトピックRe: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322518#M14616</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Mark&lt;/P&gt;&lt;P&gt;with CPOL = 1, CPHA = 1, following waveforms i got&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SCL- SS&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="TEK0001.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/41721i22AA44CCA81C2BCA/image-size/large?v=v2&amp;amp;px=999" role="button" title="TEK0001.JPG.jpg" alt="TEK0001.JPG.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;SCL-MOSI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="TEK0000.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/42600i8E9C39A0DA3BB012/image-size/large?v=v2&amp;amp;px=999" role="button" title="TEK0000.JPG.jpg" alt="TEK0000.JPG.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SCL-MISO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="TEK0003.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/42827iD516F9C1A852A284/image-size/large?v=v2&amp;amp;px=999" role="button" title="TEK0003.JPG.jpg" alt="TEK0003.JPG.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I am wondering can there be an issue of slave select ? as in the 1st fig. the SCL-SS both are not triggering simultaneously. and I used GPIO as ss because I needed 16 bit uninterrupted clk. If I use slave select pin from the component configuration , then after 8 bit there is a break in SS and hence no data is being received.&amp;nbsp; &lt;/P&gt;&lt;P&gt;Kind Regards&lt;/P&gt;&lt;P&gt;Amit Kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 23 Jun 2014 15:09:08 GMT</pubDate>
    <dc:creator>Amit_Kumar1</dc:creator>
    <dc:date>2014-06-23T15:09:08Z</dc:date>
    <item>
      <title>KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322512#M14610</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;I am using codewrrior 10.5. and&amp;nbsp; MKL05Z32VLF4 uc. I am trying to read a register value, the value is not coming proper. The similar code is working fine with K20 board. The expected value from the sensor is 0xB1 (1011 0001) but the value coming is 0x58 (1011 000) Clearly I am missing he last bit. But I don't know how to resolve this issue.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The following image is of SPI_CLK and SPI_SS&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="12680_12680.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/119842i186436CEE6D5008D/image-size/large?v=v2&amp;amp;px=999" role="button" title="12680_12680.jpg" alt="12680_12680.jpg" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="CLK-SS.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/42812iAA6E1676147DD3B2/image-size/large?v=v2&amp;amp;px=999" role="button" title="CLK-SS.JPG.jpg" alt="CLK-SS.JPG.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The following image is of SPI_CLK and SPI_MOSI Data being send is 0xE0(read + address) and 0x00 (dummy for receiving data)&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="12681_12681.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/119843iF0B155551267F669/image-size/large?v=v2&amp;amp;px=999" role="button" title="12681_12681.jpg" alt="12681_12681.jpg" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="CLK-MOSI.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/42583iD2A967862A5E3EA7/image-size/large?v=v2&amp;amp;px=999" role="button" title="CLK-MOSI.JPG.jpg" alt="CLK-MOSI.JPG.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The following image is of SPI_CLK and SPI_MISO the expected value is 0xB1(1011 0001) but in terminal I am getting 0x58(1011 000)&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="12682_12682.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/119844i8F0D0799F34922AF/image-size/large?v=v2&amp;amp;px=999" role="button" title="12682_12682.jpg" alt="12682_12682.jpg" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="CLK-MISO.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/42814i62535808426C0B01/image-size/large?v=v2&amp;amp;px=999" role="button" title="CLK-MISO.JPG.jpg" alt="CLK-MISO.JPG.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am attaching the code .&amp;nbsp; Please look into the matter.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Kind Regards&lt;/P&gt;&lt;P&gt;Amit Kumar&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-337376"&gt;KL05-IMU-21-06-2014.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jun 2014 10:04:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322512#M14610</guid>
      <dc:creator>Amit_Kumar1</dc:creator>
      <dc:date>2014-06-21T10:04:22Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322513#M14611</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Amit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You have programmed the clock phase incorrectly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Notice that when your SPI master sends data the data changes on the &lt;STRONG&gt;rising edge&lt;/STRONG&gt; of the clock signal.&lt;/P&gt;&lt;P&gt;When your SPI slave device responds with data it is changing the data on the&lt;STRONG&gt; falling edge&lt;/STRONG&gt; of the clock.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This means that your SPI master will be reading the slave's data when its clock goes low, which is just 'before' the slave actually drives the new data bit onto the line. The result is that the master is reading one bit too early and the bit data is shifted in the bytes, with the final bit missing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When using SPI always check the mode that the slave works in from its data sheet and then match the SPI master's settings to it [&lt;EM&gt;although some peripherals can match themselves to the setting - SPI flash devices typically can&lt;/EM&gt;].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Jun 2014 13:53:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322513#M14611</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2014-06-21T13:53:34Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322514#M14612</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark&lt;/P&gt;&lt;P&gt;Thanks a lot for the reply. I tried changing the phase from &lt;STRONG&gt;capture on leading edge&lt;/STRONG&gt; to &lt;STRONG&gt;change on leading edge&lt;/STRONG&gt;. But in that condition it is giving 0x00 as output.&lt;/P&gt;&lt;P&gt;by the following setting I am getting 0x58 as output&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="j1.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/44472i752ED52914031D27/image-size/large?v=v2&amp;amp;px=999" role="button" title="j1.jpg" alt="j1.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;If I change the phase, Chip select toggling is also changed to NO. and I am getting 0x00 as output.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="j2.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/44524i88D988B82F9D9BC0/image-size/large?v=v2&amp;amp;px=999" role="button" title="j2.jpg" alt="j2.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;How can I change data receive on falling edge?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards&lt;/P&gt;&lt;P&gt;Amit Kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Jun 2014 04:40:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322514#M14612</guid>
      <dc:creator>Amit_Kumar1</dc:creator>
      <dc:date>2014-06-23T04:40:54Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322515#M14613</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Amit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What I see from your original code is that the SPI configuration is set up for &lt;/P&gt;&lt;P&gt;&amp;nbsp; /* SPI0_C1: SPIE=0,SPE=0,SPTIE=0,MSTR=1,CPOL=1,CPHA=0,SSOE=1,LSBFE=0 */&lt;/P&gt;&lt;P&gt;&amp;nbsp; SPI0_C1 = (SPI_C1_MSTR_MASK | SPI_C1_CPOL_MASK | SPI_C1_SSOE_MASK); /* Set configuration register */&lt;/P&gt;&lt;P&gt;This is clock phase 0 and clock polarity 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;There are 4 possibilities for the CPHA and CPOL combination (00, 01, 10 and 11).&lt;/P&gt;&lt;P&gt;Usually the data sheet for the slave device will specify the correct setting but I think that you may need phase 1 and polarity 0 instead.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would simply overwrite the line that PE generates with the setting and even test all 4 possibilities so that you can see how each looks and also prove which one works correctly.&lt;/P&gt;&lt;P&gt;If you prefer to allow PE to set the bits for you you can still do it afterwards but with the knowledge of what the output should be in case of PE difficulties.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Jun 2014 13:37:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322515#M14613</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2014-06-23T13:37:03Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322516#M14614</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark&lt;/P&gt;&lt;P&gt;I tried modifying the generated code from processor expert in the following configurations&lt;/P&gt;&lt;P&gt;1. SPI0_C1 = (SPI_C1_MSTR_MASK | SPI_C1_CPOL_MASK| SPI_C1_CPHA_MASK&amp;nbsp; | SPI_C1_SSOE_MASK); /* Set configuration register */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,CPOL=1,CPHA=1&lt;/P&gt;&lt;P&gt;2. SPI0_C1 = (SPI_C1_MSTR_MASK |&amp;nbsp; SPI_C1_CPHA_MASK&amp;nbsp; | SPI_C1_SSOE_MASK); /* Set configuration register */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,CPOL=0,CPHA=1&lt;/P&gt;&lt;P&gt;3. SPI0_C1 = (SPI_C1_MSTR_MASK | SPI_C1_SSOE_MASK); /* Set configuration register */&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,CPOL=0,CPHA=0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am getting 0x00 as output for these configurations.&lt;/P&gt;&lt;P&gt;According to the datasheet,&lt;/P&gt;&lt;P&gt;following is the timing diagram&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="spi.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/44475i4F804CF4BAC9EECA/image-size/large?v=v2&amp;amp;px=999" role="button" title="spi.jpg" alt="spi.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;and the SPI configuration details&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="spi1.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/44571iA8D0A495BB199641/image-size/large?v=v2&amp;amp;px=999" role="button" title="spi1.jpg" alt="spi1.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards&lt;/P&gt;&lt;P&gt;Amit Kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Jun 2014 14:14:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322516#M14614</guid>
      <dc:creator>Amit_Kumar1</dc:creator>
      <dc:date>2014-06-23T14:14:16Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322517#M14615</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Amit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your device samples on the rising edge and shifts data out on the falling edge. The timing looks like CPOL = '1' and CPHA = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you are reading 0x00 it may be that the slave device is not understanding the command that you are sending and so really sending 0x00 back (check the bus again with the oscilloscope). Notice that originally also the timing was wrong for the slave device so it may have also been understanding your transmitted 0xc0 as 0xc1, or 0xe0 and now undestands it as 0xc0 - which could make a difference to its behaviour.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Jun 2014 14:53:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322517#M14615</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2014-06-23T14:53:32Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322518#M14616</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Mark&lt;/P&gt;&lt;P&gt;with CPOL = 1, CPHA = 1, following waveforms i got&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SCL- SS&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="TEK0001.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/41721i22AA44CCA81C2BCA/image-size/large?v=v2&amp;amp;px=999" role="button" title="TEK0001.JPG.jpg" alt="TEK0001.JPG.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;SCL-MOSI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="TEK0000.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/42600i8E9C39A0DA3BB012/image-size/large?v=v2&amp;amp;px=999" role="button" title="TEK0000.JPG.jpg" alt="TEK0000.JPG.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SCL-MISO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="TEK0003.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/42827iD516F9C1A852A284/image-size/large?v=v2&amp;amp;px=999" role="button" title="TEK0003.JPG.jpg" alt="TEK0003.JPG.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I am wondering can there be an issue of slave select ? as in the 1st fig. the SCL-SS both are not triggering simultaneously. and I used GPIO as ss because I needed 16 bit uninterrupted clk. If I use slave select pin from the component configuration , then after 8 bit there is a break in SS and hence no data is being received.&amp;nbsp; &lt;/P&gt;&lt;P&gt;Kind Regards&lt;/P&gt;&lt;P&gt;Amit Kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Jun 2014 15:09:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322518#M14616</guid>
      <dc:creator>Amit_Kumar1</dc:creator>
      <dc:date>2014-06-23T15:09:08Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322519#M14617</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Amit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would enable a pull-up on the SPI_MISO line so that you can better see when the slave is driving the line (driven '0' will be visible.&lt;/P&gt;&lt;P&gt;Normally the slave would always return data when selected but maybe you need to address it as well before it does (?). In any case it looks like the slave is not driving its output (not selected) in your oscilloscope images.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Jun 2014 15:56:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322519#M14617</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2014-06-23T15:56:21Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322520#M14618</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark&lt;/P&gt;&lt;P&gt;I connected a pullup on the MISO and got &lt;STRONG&gt;0xD8 (1101 1000)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="TEK0000.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/44574i14A1FA9D9C26A448/image-size/large?v=v2&amp;amp;px=999" role="button" title="TEK0000.JPG.jpg" alt="TEK0000.JPG.jpg" /&gt;&lt;/span&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When connected pulldown to MISO I am getting the same value &lt;STRONG&gt;0x58 (0101 1000)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="TEK0001.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/42602iD25FF9CD199C2E3F/image-size/large?v=v2&amp;amp;px=999" role="button" title="TEK0001.JPG.jpg" alt="TEK0001.JPG.jpg" /&gt;&lt;/span&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After this I tried manually triggering SS pin, once toggled the SS pin (PTA19)&amp;nbsp; and put it to low logic and the value was coming as &lt;STRONG&gt;0xB1 &lt;/STRONG&gt;which is the required value I did it with 2 registers reading instead of single register reading then it was giving 0xB1 as a constant value for both registers (utter failure). This device worked fine with K20 board. The major diff. was that in K20 I am getting a continuous 16 bit clock in &lt;A href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=KL0"&gt;KL05&lt;/A&gt;, there is a slight break after 8bit and that's why it is creating this problem. Is there any way to reduce the gap b/w both the clock pulses? If I could do that , I hope my device will start working perfectly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Kind Regards&lt;/P&gt;&lt;P&gt;Amit Kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jun 2014 04:51:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322520#M14618</guid>
      <dc:creator>Amit_Kumar1</dc:creator>
      <dc:date>2014-06-24T04:51:39Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322521#M14619</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Amit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your code is creating the delay:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;while (!(SPI0_S &amp;amp; SPI_S_SPTEF_MASK));&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI0_D = 0xC0 | RegisterAddress;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(SPI0_S &amp;amp; SPI_S_SPRF_MASK));&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;-------------------------&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i = SPI0_D;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(SPI0_S &amp;amp; SPI_S_SPTEF_MASK));&lt;/STRONG&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPI0_D = 0x00;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt; // Dummy byte&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!(SPI0_S &amp;amp; SPI_S_SPRF_MASK));&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; i = SPI0_D;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;You can sent the second byte before the first reception is complete (as soon as the Tx has space) and then you should see either no gap between the two, or at least much less.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;while (!(SPI0_S &amp;amp; SPI_S_SPTEF_MASK));&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SPI0_D = 0xC0 | RegisterAddress;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;while (!(SPI0_S &amp;amp; SPI_S_SPTEF_MASK));&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SPI0_D = 0x00;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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 byte&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;while (!(SPI0_S &amp;amp; SPI_S_SPRF_MASK));&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;i = SPI0_D;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;while (!(SPI0_S &amp;amp; SPI_S_SPRF_MASK));&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;i = SPI0_D;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jun 2014 11:36:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322521#M14619</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2014-06-24T11:36:42Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322522#M14620</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Mark&lt;/P&gt;&lt;P&gt;Thanks for the above code. I tried that code , on probing I got the same waveform. I got response from the device support team with respect to the 3 waveforms which I posted initially in this thread. They said:-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;"&lt;EM&gt;From the diagram you attached, you may mis-configurated&amp;nbsp; the SPI&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; interface:&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp; MOSI diagram: according to SPI timing diagram in&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp; datasheet, it should be latch data on rising edge of SCLK , but&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp; from your diagram, it changed the state of MOSI when SCLK rising&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp; edge.&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp; MISO diagram: from the diagram, we can read back the data should&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp; be 0xb1 if you read the data on the rising edge, maybe you read&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&amp;nbsp; data on the falling edge to cause the read back is 0x58&lt;/EM&gt;. "&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now what Do you suggest me to do?&lt;/P&gt;&lt;P&gt;I am getting values (0x58) only when CPOL =1 and CPHA =0. In rest all the configuration I am getting 0x00;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards&lt;/P&gt;&lt;P&gt;Amit Kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jun 2014 11:59:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322522#M14620</guid>
      <dc:creator>Amit_Kumar1</dc:creator>
      <dc:date>2014-06-24T11:59:27Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322523#M14621</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Amit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the slave is working correctly with the K20 I would do a recording of the signals there to carefully compare with this case.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It is clear that the clock phase was not correct and you you were receiving shifted data as you first showed but it is not clear why changing setting woudl cause the slave to stop responding (or send 0x00). Possibly this careful comparison between teh signals in the two cases may identify a reason.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jun 2014 12:45:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322523#M14621</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2014-06-24T12:45:23Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322524#M14622</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark&lt;/P&gt;&lt;P&gt;I checked the settings in the code generated for K20 uc the init code is as follows&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #005032;"&gt;LDD_TDeviceData&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;* &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;&lt;STRONG&gt;SMasterLdd1_Init&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;LDD_TUserData&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; *UserDataPtr)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* Allocate LDD device structure */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #005032;"&gt;SMasterLdd1_TDeviceDataPtr&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; DeviceDataPrv;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* {Default RTOS Adapter} Driver memory allocation: Dynamic allocation is simulated by a pointer to the static object */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;DeviceDataPrv = &amp;amp;DeviceDataPrv__DEFAULT_RTOS_ALLOC;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;DeviceDataPrv-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0;"&gt;UserData&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = UserDataPtr; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;/* Store the RTOS device structure */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* Interrupt vector(s) allocation */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* {Default RTOS Adapter} Set interrupt vector: IVT is static, ISR parameter is passed by the global variable */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;INT_SPI0__DEFAULT_RTOS_ISRPARAM = DeviceDataPrv;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;DeviceDataPrv-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0;"&gt;TxCommand&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = 0x80010000U; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;/* &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; text-decoration: underline;"&gt;Initialization&lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt; of current &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; text-decoration: underline;"&gt;Tx&lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt; command */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;DeviceDataPrv-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0;"&gt;ErrFlag&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = 0x00U;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;/* Clear error flags */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* Clear the receive counters and pointer */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;DeviceDataPrv-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0;"&gt;InpRecvDataNum&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = 0x00U; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;/* Clear the counter of received characters */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;DeviceDataPrv-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0;"&gt;InpDataNumReq&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = 0x00U; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;/* Clear the counter of characters to receive by ReceiveBlock() */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;DeviceDataPrv-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0;"&gt;InpDataPtr&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = NULL;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;/* Clear the buffer pointer for received characters */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* Clear the transmit counters and pointer */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;DeviceDataPrv-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0;"&gt;OutSentDataNum&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = 0x00U; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;/* Clear the counter of sent characters */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;DeviceDataPrv-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0;"&gt;OutDataNumReq&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = 0x00U; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;/* Clear the counter of characters to be send by SendBlock() */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;DeviceDataPrv-&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000c0;"&gt;OutDataPtr&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; = NULL;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;/* Clear the buffer pointer for data to be transmitted */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* SIM_SCGC6: SPI0=1 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SIM_SCGC6 |= SIM_SCGC6_SPI0_MASK;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* Interrupt vector(s) priority setting */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* NVICIP12: PRI12=0x80 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;NVICIP12 = NVIC_IP_PRI12(0x80);&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* NVICISER0: SETENA|=0x1000 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;NVICISER0 |= NVIC_ISER_SETENA(0x1000);&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* PORTD_PCR3: ISF=0,MUX=2 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;PORTD_PCR3 = (&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)((PORTD_PCR3 &amp;amp; (&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)~(&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)(&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;PORT_PCR_ISF_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;PORT_PCR_MUX(0x05)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;)) | (&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)(&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;PORT_PCR_MUX(0x02)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;)); &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* PORTD_PCR2: ISF=0,MUX=2 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;PORTD_PCR2 = (&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)((PORTD_PCR2 &amp;amp; (&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)~(&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)(&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;PORT_PCR_ISF_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;PORT_PCR_MUX(0x05)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;)) | (&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)(&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;PORT_PCR_MUX(0x02)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;)); &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* PORTD_PCR1: ISF=0,MUX=2 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;PORTD_PCR1 = (&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)((PORTD_PCR1 &amp;amp; (&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)~(&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)(&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;PORT_PCR_ISF_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;PORT_PCR_MUX(0x05)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;)) | (&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)(&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;PORT_PCR_MUX(0x02)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;)); &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* PORTC_PCR4: ISF=0,MUX=2 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;PORTC_PCR4 = (&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)((PORTC_PCR4 &amp;amp; (&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)~(&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)(&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;PORT_PCR_ISF_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;PORT_PCR_MUX(0x05)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;)) | (&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)(&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;PORT_PCR_MUX(0x02)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;)); &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* SPI0_MCR: MSTR=0,CONT_SCKE=0,DCONF=0,FRZ=0,MTFE=0,PCSSE=0,ROOE=1,??=0,??=0,PCSIS=1,DOZE=0,MDIS=0,DIS_TXF=0,DIS_RXF=0,CLR_TXF=0,CLR_RXF=0,SMPL_PT=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,HALT=1 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI0_MCR = SPI_MCR_DCONF(0x00) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_MCR_ROOE_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_MCR_PCSIS(0x01) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_MCR_SMPL_PT(0x00) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;SPI_MCR_HALT_MASK; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;/* Set Configuration register */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* SPI0_MCR: MSTR=1,CONT_SCKE=0,DCONF=0,FRZ=0,MTFE=0,PCSSE=0,ROOE=1,??=0,??=0,PCSIS=1,DOZE=0,MDIS=0,DIS_TXF=1,DIS_RXF=1,CLR_TXF=1,CLR_RXF=1,SMPL_PT=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,HALT=1 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI0_MCR = SPI_MCR_MSTR_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_MCR_DCONF(0x00) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_MCR_ROOE_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_MCR_PCSIS(0x01) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_MCR_DIS_TXF_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_MCR_DIS_RXF_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_MCR_CLR_TXF_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_MCR_CLR_RXF_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_MCR_SMPL_PT(0x00) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;SPI_MCR_HALT_MASK; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;/* Set Configuration register */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* SPI0_CTAR0: DBR=1,FMSZ=0x0F,CPOL=1,CPHA=1,LSBFE=0,PCSSCK=0,PASC=0,PDT=2,PBR=2,CSSCK=0,ASC=0,DT=1,BR=1 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI0_CTAR0 = SPI_CTAR_DBR_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_CTAR_FMSZ(0x0F) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; background: #ffff00; font-family: 'Courier New', monospace;"&gt;SPI_CTAR_CPOL_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; background: #ffff00; font-family: 'Courier New', monospace;"&gt;SPI_CTAR_CPHA_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_CTAR_PCSSCK(0x00) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_CTAR_PASC(0x00) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_CTAR_PDT(0x02) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_CTAR_PBR(0x02) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_CTAR_CSSCK(0x00) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_CTAR_ASC(0x00) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_CTAR_DT(0x01) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;SPI_CTAR_BR(0x01); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;/* Set Clock and Transfer Attributes register */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* SPI0_SR: TCF=1,TXRXS=0,??=0,EOQF=1,TFUF=1,??=0,TFFF=1,??=0,??=0,??=0,??=1,??=0,RFOF=1,??=0,RFDF=1,??=0,TXCTR=0,TXNXTPTR=0,RXCTR=0,POPNXTPTR=0 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI0_SR = SPI_SR_TCF_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_SR_EOQF_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_SR_TFUF_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_SR_TFFF_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_SR_RFOF_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_SR_RFDF_MASK |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_SR_TXCTR(0x00) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_SR_TXNXTPTR(0x00) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_SR_RXCTR(0x00) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SPI_SR_POPNXTPTR(0x00) |&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;0x00200000U; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;/* Clear flags */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* SPI0_RSER: TCF_RE=0,??=0,??=0,EOQF_RE=0,TFUF_RE=0,??=0,TFFF_RE=0,TFFF_DIRS=0,??=0,??=0,??=0,??=0,RFOF_RE=0,??=0,RFDF_RE=1,RFDF_DIRS=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;SPI0_RSER = SPI_RSER_RFDF_RE_MASK;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;/* Set DMA Interrupt Request Select and Enable register */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* SPI0_MCR: HALT=0 */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;SPAN style="font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;SPI0_MCR &amp;amp;= (&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)~(&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;)(SPI_MCR_HALT_MASK); &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;/* Registration of the device structure */&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt;&amp;nbsp; &lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;PE_LDD_RegisterDeviceStructure(PE_LDD_COMPONENT_SMasterLdd1_ID,DeviceDataPrv);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; ((&lt;/SPAN&gt;&lt;SPAN style="color: #005032;"&gt;LDD_TDeviceData&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; *)DeviceDataPrv); &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;/* Return pointer to the data data structure */&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;BR /&gt; The output waveform from K20 board is :&lt;/P&gt;&lt;P class="western"&gt;&lt;/P&gt;&lt;P class="western"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCL-SS&lt;/P&gt;&lt;P class="western"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="SCL-SS.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/43646i71DBE953CB371836/image-size/large?v=v2&amp;amp;px=999" role="button" title="SCL-SS.JPG.jpg" alt="SCL-SS.JPG.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;/P&gt;&lt;P class="western"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCL-MOSI --&amp;gt; 0xE000 (E0-&amp;gt; Read WHO AM I, 00--&amp;gt; Dummy byte for receiving)&lt;/P&gt;&lt;P class="western"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="SCL-MOSI.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/43647i29A7D932266D6AD0/image-size/large?v=v2&amp;amp;px=999" role="button" title="SCL-MOSI.JPG.jpg" alt="SCL-MOSI.JPG.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;/P&gt;&lt;P class="western"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SCL-MISO --&amp;gt; 0xB1&lt;/P&gt;&lt;P class="western"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="SCL-MISO.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/44434i04AA035E2A860F94/image-size/large?v=v2&amp;amp;px=999" role="button" title="SCL-MISO.JPG.jpg" alt="SCL-MISO.JPG.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;/P&gt;&lt;P class="western"&gt;Kind Regards&lt;/P&gt;&lt;P class="western"&gt;Amit Kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Jun 2014 04:18:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322524#M14622</guid>
      <dc:creator>Amit_Kumar1</dc:creator>
      <dc:date>2014-06-25T04:18:57Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322525#M14623</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Amit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The K20 code uses CPOL and CPHA = '1' and the waveform confirms that the clocks and bits retunred form the SPI slave are matching in both cases.&lt;/P&gt;&lt;P&gt;This means that I would expect you to read 0x00 (dummy) - 0xb1 in the final case.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Jun 2014 12:30:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322525#M14623</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2014-06-25T12:30:49Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322526#M14624</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Mark&lt;/P&gt;&lt;P&gt;I did the following changes in my code for &lt;A href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=KL0"&gt;KL05&lt;/A&gt; uc,&lt;/P&gt;&lt;P&gt;CPOL, CPHA = 1&lt;/P&gt;&lt;P&gt;B.R = 187Khz i.e SPI0_BR = SPI_BR_SPPR(0x07) | SPI_BR_SPR(0x03) ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I modified the read code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;unsigned&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;char&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;&lt;STRONG&gt;ReadRegister&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;unsigned&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;char&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; RegisterAddress)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;unsigned&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;char&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; i;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;while&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; (!(SPI0_S &amp;amp; SPI_S_SPTEF_MASK));&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; SPI0_D = 0xE0;&lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;//0xC0 | RegisterAddress;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;while&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; (!(SPI0_S &amp;amp; SPI_S_SPTEF_MASK));&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; SPI0_D = 0x00; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;// Dummy byte&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;while&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; (!(SPI0_S &amp;amp; SPI_S_SPRF_MASK));&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt; i = SPI0_D;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #642880;"&gt;&lt;STRONG&gt;printf&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #2a00ff;"&gt;"i=0x%02X, \n"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,i);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; i;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SCL-SS&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="TEK0004.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/43660i68D84C02A1A09E63/image-size/large?v=v2&amp;amp;px=999" role="button" title="TEK0004.JPG.jpg" alt="TEK0004.JPG.jpg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SCL-MOSI&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="TEK0005.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/44438i702F3A5CFE894EB4/image-size/large?v=v2&amp;amp;px=999" role="button" title="TEK0005.JPG.jpg" alt="TEK0005.JPG.jpg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SS-MISO&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="TEK0006.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/44585iDF01A9598738FEB1/image-size/large?v=v2&amp;amp;px=999" role="button" title="TEK0006.JPG.jpg" alt="TEK0006.JPG.jpg" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;here At least I managed to get continuous 16 bit clk cycle. I am wondering why the device is not responding the MOSI signal is identical to the earlier signal which I posted for K20 board.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;Then I removed the SS pin and left it floating, sometimes the value showed up i.e&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt; SCL-MISO&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="TEK0007.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/43661i46BD1BBC14B9507A/image-size/large?v=v2&amp;amp;px=999" role="button" title="TEK0007.JPG.jpg" alt="TEK0007.JPG.jpg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;in this case the value was not being displayed in the terminal window. may be SPIO_D is capturing 16 bit data and since it is an 8 bit register so the 0x00 value is only being stored in it and 0xB1 is getting discarded.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;Then I grounded the SS pin and I got the following waveform&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;SCL-MISO&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="TEK0008.JPG.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/44439i27A2C4F09E2AAEBE/image-size/large?v=v2&amp;amp;px=999" role="button" title="TEK0008.JPG.jpg" alt="TEK0008.JPG.jpg" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;in this case , in the terminal window 0xB1 is being received.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New', monospace; font-size: 10pt;"&gt;But the above 2 were the wrong methods. I am wondering why &lt;/SPAN&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New', monospace;"&gt;isn't the value being displayed with the correct way. Anyways what are your further suggestion for making it work? Thanks&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New', monospace; font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New', monospace; font-size: 10pt;"&gt;Kind Regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-family: 'Courier New', monospace; font-size: 10pt;"&gt;Amit Kumar &lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Jun 2014 13:13:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322526#M14624</guid>
      <dc:creator>Amit_Kumar1</dc:creator>
      <dc:date>2014-06-25T13:13:54Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322527#M14625</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Amit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't recommend keeping the SS line asserted since it looks like the SPI slave is returning its answer already on the first byte sent (it has probably been queued from a previous access without SS negation).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also I don't think that the read code is correct since it only reads one of the Rx bytes. The following reads both and returns the second as result:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;unsigned&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;char&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;&lt;STRONG&gt;ReadRegister&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;unsigned&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;char&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; RegisterAddress)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;unsigned&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;char&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; i, j;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;while&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; (!(SPI0_S &amp;amp; SPI_S_SPTEF_MASK));&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; SPI0_D = 0xE0;&lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;//0xC0 | RegisterAddress;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;while&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; (!(SPI0_S &amp;amp; SPI_S_SPTEF_MASK));&amp;nbsp; // wait until the tx buffer can accept a futher byte (this takes place during the first byte transmission)&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; SPI0_D = 0x00; &lt;/SPAN&gt;&lt;SPAN style="color: #3f7f5f;"&gt;// Dummy byte - prepare it so that it can be sent without a pause in transmission&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;while&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; (!(SPI0_S &amp;amp; SPI_S_SPRF_MASK)); // wait until teh first byte has been received&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt; j = SPI0_D;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // read first byte (dummy)&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;while&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; (!(SPI0_S &amp;amp; SPI_S_SPRF_MASK)); // wait until the second byte has been received&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt; i = SPI0_D;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // second byte (result)&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #642880;"&gt;&lt;STRONG&gt;printf&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #2a00ff;"&gt;"j&lt;SPAN style="color: #2a00ff; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;=0x%02X, &lt;/SPAN&gt;i=0x%02X, \n"&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;,j,i);&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="font-size: 10pt; font-family: 'Courier New', monospace;"&gt;&lt;SPAN style="color: #000000;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #7f0055;"&gt;&lt;STRONG&gt;return&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt; i;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="western"&gt;&lt;SPAN style="color: #000000; font-size: 10pt; font-family: 'Courier New', monospace;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Jun 2014 13:49:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322527#M14625</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2014-06-25T13:49:19Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322528#M14626</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried the above code but the result is the same no o/p waveform is being recorded in the oscilloscope. I will try some more things and will update you regarding the condition. Thanks for your support. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards&lt;/P&gt;&lt;P&gt;Amit Kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 28 Jun 2014 10:19:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322528#M14626</guid>
      <dc:creator>Amit_Kumar1</dc:creator>
      <dc:date>2014-06-28T10:19:34Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322529#M14627</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark&lt;/P&gt;&lt;P&gt;I think may be there is some issue in ss configuration. as in above waveforms if you observe KL05 (16 bit continuous clock) and K20 working waveforms both have identical waveform for SS and MOSI . I Tested with same frequency and it was identical. but I didn't get the MISO waveform back for KL05. When I leave SS pin floating then sometimes I am getting the waveform so these results concludes that the issue may be with SS. I went through the configuration and confirmed that MODFEN, SSOE = 1. What else can be done to make this working? I know it is a dumb ques but it makes me wonder if&amp;nbsp; has anybody had interfaced and tested KL05's SPI. coz I think we have covered and checked almost all the registers settings for SPI, and same device is working fine with K20 so the device dosen't seem to be faulty. KL05 board is also fine as it is generating the required waveforms.&amp;nbsp; So hardware wise it seems to be fine and coding wise I have posted the code and you also went through the codes and all the changes which u told I followed that.&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="q.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/44663i7502107945BB74F0/image-size/large?v=v2&amp;amp;px=999" role="button" title="q.jpg" alt="q.jpg" /&gt;&lt;/span&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards&lt;/P&gt;&lt;P&gt;Amit Kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jun 2014 03:39:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322529#M14627</guid>
      <dc:creator>Amit_Kumar1</dc:creator>
      <dc:date>2014-06-30T03:39:08Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322530#M14628</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Amit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It sounds like the problem si more by the SPI slave now.&lt;/P&gt;&lt;P&gt;I would check that the SPI lines (including SS) are in fixed states after powerup/reset and not causing clocks to be detected by the slave, moving it to a different mode so that it then doesn't recognise the addressing when it is sent.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I use the SPI in the KL devices with SPI Flash and SD cards and have not had any problems. There is a workaround to ensure that the SPRF flag operates correctly&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/thread/324738" title="https://community.freescale.com/thread/324738"&gt;https://community.freescale.com/thread/324738&lt;/A&gt;&lt;/P&gt;&lt;P&gt;but apart form that no difficultes are known.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you are controlling the SS line as a GPIO there will be no SS configuration issues in the SPI controller.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jun 2014 13:17:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322530#M14628</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2014-06-30T13:17:37Z</dc:date>
    </item>
    <item>
      <title>Re: KL05 SPI Last data bit getting skipped, Whats wrong with the code?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322531#M14629</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark&lt;/P&gt;&lt;P&gt;I saw the thread, I moved to codewarrior10.6 from codewarrior 10.5 and tried this code there but the issue remained the same. Also I added&amp;nbsp; &lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;(volatile unsigned char)SPI0_S;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;(volatile unsigned char)SPI0_D;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;and I checked with both SS as GPIO and SS as SPI_SS once at a time.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="Untitled.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/44668iAECA7C78E94FAF39/image-size/large?v=v2&amp;amp;px=999" role="button" title="Untitled.jpg" alt="Untitled.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind Regards&lt;/P&gt;&lt;P&gt;Amit Kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Jul 2014 07:07:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL05-SPI-Last-data-bit-getting-skipped-Whats-wrong-with-the-code/m-p/322531#M14629</guid>
      <dc:creator>Amit_Kumar1</dc:creator>
      <dc:date>2014-07-01T07:07:01Z</dc:date>
    </item>
  </channel>
</rss>

