<?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 I2C KSDK driver send stop before writing data Buffer in Kinetis Software Development Kit</title>
    <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/I2C-KSDK-driver-send-stop-before-writing-data-Buffer/m-p/453658#M3170</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using Kinetis K64 with Processor Expert and running on RTOS with KSDK 1.2.0.&lt;/P&gt;&lt;P&gt;I am trying to write to the I2C Device(I2C port Expander) with the I2C_DRV_MasterSendDataBlocking function as per the KSDK sample example.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Looks at few instances I am running into a state where I get a return status of "&lt;STRONG&gt;kStatus_I2C_ReceivedNak&lt;/STRONG&gt;" when i tried to Read/ Write a register of I2C device.&lt;/P&gt;&lt;P&gt;Here&lt;STRONG&gt; kStatus_I2C_ReceivedNak &lt;/STRONG&gt;is received after&lt;STRONG&gt; I2C_HAL_WriteByte &lt;/STRONG&gt;when &lt;STRONG&gt;I2C_DRV_SendAddress&lt;/STRONG&gt; is called.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When I checked Through Saleae analyzer I came to know that the Stop bit is been issued before the Data is been written.&lt;/P&gt;&lt;P&gt;You can see in the below Image . The write 1 is success with start, adresss, cmd buffer , data buffer , stop&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="107689_107689.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/120850i350C052E7880E259/image-size/large?v=v2&amp;amp;px=999" role="button" title="107689_107689.png" alt="107689_107689.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="Analyzer log.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/52323i3F73B040DD065C48/image-size/large?v=v2&amp;amp;px=999" role="button" title="Analyzer log.png" alt="Analyzer log.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is this a known behavior? Please let me know what I am missing. Currently I have a Timeout of 1000ms.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also I want to know,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if &lt;STRONG&gt;I2C_DRV_SendAddress&lt;/STRONG&gt; get a &lt;STRONG&gt;kStatus_I2C_ReceivedNak &lt;/STRONG&gt; Is it supposed to be handled in &lt;STRONG&gt;I2C_DRV_MasterSend ??&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Rufus&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 01 Dec 2015 02:25:35 GMT</pubDate>
    <dc:creator>cabharufusbaska</dc:creator>
    <dc:date>2015-12-01T02:25:35Z</dc:date>
    <item>
      <title>I2C KSDK driver send stop before writing data Buffer</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/I2C-KSDK-driver-send-stop-before-writing-data-Buffer/m-p/453658#M3170</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using Kinetis K64 with Processor Expert and running on RTOS with KSDK 1.2.0.&lt;/P&gt;&lt;P&gt;I am trying to write to the I2C Device(I2C port Expander) with the I2C_DRV_MasterSendDataBlocking function as per the KSDK sample example.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Looks at few instances I am running into a state where I get a return status of "&lt;STRONG&gt;kStatus_I2C_ReceivedNak&lt;/STRONG&gt;" when i tried to Read/ Write a register of I2C device.&lt;/P&gt;&lt;P&gt;Here&lt;STRONG&gt; kStatus_I2C_ReceivedNak &lt;/STRONG&gt;is received after&lt;STRONG&gt; I2C_HAL_WriteByte &lt;/STRONG&gt;when &lt;STRONG&gt;I2C_DRV_SendAddress&lt;/STRONG&gt; is called.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When I checked Through Saleae analyzer I came to know that the Stop bit is been issued before the Data is been written.&lt;/P&gt;&lt;P&gt;You can see in the below Image . The write 1 is success with start, adresss, cmd buffer , data buffer , stop&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="107689_107689.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/120850i350C052E7880E259/image-size/large?v=v2&amp;amp;px=999" role="button" title="107689_107689.png" alt="107689_107689.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="Analyzer log.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/52323i3F73B040DD065C48/image-size/large?v=v2&amp;amp;px=999" role="button" title="Analyzer log.png" alt="Analyzer log.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is this a known behavior? Please let me know what I am missing. Currently I have a Timeout of 1000ms.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also I want to know,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;if &lt;STRONG&gt;I2C_DRV_SendAddress&lt;/STRONG&gt; get a &lt;STRONG&gt;kStatus_I2C_ReceivedNak &lt;/STRONG&gt; Is it supposed to be handled in &lt;STRONG&gt;I2C_DRV_MasterSend ??&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Rufus&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Dec 2015 02:25:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/I2C-KSDK-driver-send-stop-before-writing-data-Buffer/m-p/453658#M3170</guid>
      <dc:creator>cabharufusbaska</dc:creator>
      <dc:date>2015-12-01T02:25:35Z</dc:date>
    </item>
    <item>
      <title>Re: I2C KSDK driver send stop before writing data Buffer</title>
      <link>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/I2C-KSDK-driver-send-stop-before-writing-data-Buffer/m-p/453659#M3171</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Rufus:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your issue seems very similar to the one discussed in the next thread (check in particular the last 2 replies):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/thread/379904"&gt;I2C on KDS and configuring the component&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please confirm that you have the Open Drain setting enabled for the I2C pins that you are using. As mentioned in that discussion, the logical analyzers can sometimes hide important information from the analog signal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know if the issue is not resolved.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Regards!,&lt;BR /&gt;Jorge Gonzalez&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 05 Dec 2015 20:16:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Software-Development-Kit/I2C-KSDK-driver-send-stop-before-writing-data-Buffer/m-p/453659#M3171</guid>
      <dc:creator>Jorge_Gonzalez</dc:creator>
      <dc:date>2015-12-05T20:16:35Z</dc:date>
    </item>
  </channel>
</rss>

