<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: S32K I2C in S32 SDK</title>
    <link>https://community.nxp.com/t5/S32-SDK/S32K-I2C/m-p/749879#M337</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Koorosh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Both CLK and DATA pins should be configured as open-drain (for both master and slave).&lt;/P&gt;&lt;P&gt;Slaves can also drive the CLK low to slow down the bit rate. After the master has driven&lt;/P&gt;&lt;P&gt;the CLK pin low, the slave can drive SCL low for the required period and then release it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have attached you a short description of how to use lpi2c using DMA transfers.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Alina&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 13 Feb 2018 08:55:19 GMT</pubDate>
    <dc:creator>AlinaB</dc:creator>
    <dc:date>2018-02-13T08:55:19Z</dc:date>
    <item>
      <title>S32K I2C</title>
      <link>https://community.nxp.com/t5/S32-SDK/S32K-I2C/m-p/749874#M332</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;Seems to me based on my own working (past 10 days )with the SDK I2C drivers and searching the forum , there are issues with using the non blocking I2C send and receive drivers:&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;/*!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* @brief Perform a non-blocking receive transaction on the I2C bus&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;*&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* This function starts the reception of a block of data from the currently&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* configured slave address and returns immediately.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* The rest of the reception is handled by the interrupt service routine.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* Use LPI2C_DRV_MasterGetReceiveStatus() to check the progress of the reception.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;*&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* @&lt;SPAN style="text-decoration: underline;"&gt;param&lt;/SPAN&gt; instance&amp;nbsp; LPI2C peripheral instance number&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* @&lt;SPAN style="text-decoration: underline;"&gt;param&lt;/SPAN&gt; rxBuff&amp;nbsp;&amp;nbsp;&amp;nbsp; pointer to the buffer where to store received data&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* @&lt;SPAN style="text-decoration: underline;"&gt;param&lt;/SPAN&gt; rxSize&amp;nbsp;&amp;nbsp;&amp;nbsp; length in bytes of the data to be transferred&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* @&lt;SPAN style="text-decoration: underline;"&gt;param&lt;/SPAN&gt; sendStop&amp;nbsp;&amp;nbsp;&amp;nbsp; specifies whether or not to generate stop condition after the reception&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* @return&amp;nbsp;&amp;nbsp;&amp;nbsp; Error or success status returned by API&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #005032; font-size: 10pt;"&gt;status_t&lt;/SPAN&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt; &lt;STRONG style="background: silver;"&gt;LPI2C_DRV_MasterReceiveData&lt;/STRONG&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #005032; font-size: 10pt;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;&amp;nbsp; instance,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&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; &lt;/SPAN&gt;&lt;SPAN style="color: #005032; font-size: 10pt;"&gt;uint8_t&lt;/SPAN&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt; * rxBuff,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&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; &lt;/SPAN&gt;&lt;SPAN style="color: #005032; font-size: 10pt;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt; rxSize,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&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; bool sendStop);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;and&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;/*!&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* @brief Perform a non-blocking send transaction on the I2C bus&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;*&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* This function starts the transmission of a block of data to the currently&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* configured slave address and returns immediately.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* The rest of the transmission is handled by the interrupt service routine.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* Use LPI2C_DRV_MasterGetSendStatus() to check the progress of the transmission.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;*&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* @&lt;SPAN style="text-decoration: underline;"&gt;param&lt;/SPAN&gt; instance&amp;nbsp; LPI2C peripheral instance number&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* @&lt;SPAN style="text-decoration: underline;"&gt;param&lt;/SPAN&gt; txBuff&amp;nbsp;&amp;nbsp;&amp;nbsp; pointer to the data to be transferred&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* @&lt;SPAN style="text-decoration: underline;"&gt;param&lt;/SPAN&gt; txSize&amp;nbsp;&amp;nbsp;&amp;nbsp; length in bytes of the data to be transferred&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* @&lt;SPAN style="text-decoration: underline;"&gt;param&lt;/SPAN&gt; sendStop&amp;nbsp;&amp;nbsp;&amp;nbsp; specifies whether or not to generate stop condition after the transmission&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;* @return&amp;nbsp;&amp;nbsp;&amp;nbsp; Error or success status returned by API&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #3f7f5f; font-size: 10pt;"&gt;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #005032; font-size: 10pt;"&gt;status_t&lt;/SPAN&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt; &lt;STRONG&gt;LPI2C_DRV_MasterSendData&lt;/STRONG&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #005032; font-size: 10pt;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt; instance,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&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; &lt;/SPAN&gt;&lt;STRONG style="color: #7f0055; font-size: 10pt;"&gt;const&lt;/STRONG&gt; &lt;SPAN style="color: #005032; font-size: 10pt;"&gt;uint8_t&lt;/SPAN&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt; * txBuff,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&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; &lt;/SPAN&gt;&lt;SPAN style="color: #005032; font-size: 10pt;"&gt;uint32_t&lt;/SPAN&gt;&lt;SPAN style="color: black; font-size: 10pt;"&gt; txSize,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: black; font-size: 10pt;"&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; bool sendStop);&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;I can’t say for certain but I sense from the discussion in the forum and my own dealing with this,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;The blocking versions of the above functions are to be used. For me the blocking is stable while the none blocking version triggers exceptions.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;Can someone confirm this please?&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;Thanks&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Jan 2018 20:32:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-SDK/S32K-I2C/m-p/749874#M332</guid>
      <dc:creator>hajianik</dc:creator>
      <dc:date>2018-01-23T20:32:39Z</dc:date>
    </item>
    <item>
      <title>Re: S32K I2C</title>
      <link>https://community.nxp.com/t5/S32-SDK/S32K-I2C/m-p/749875#M333</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Koorosh,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What kind of exceptions did you get by using non-blocking functions?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you use non-blocking functions you must ensure the transfer finished before starting a new transfer. You should use LPI2C_DRV_MasterGetTransferStatus or LPI2C_DRV_SlaveGetTransferStatus&amp;nbsp; to check the status of the driver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Alina&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jan 2018 07:29:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-SDK/S32K-I2C/m-p/749875#M333</guid>
      <dc:creator>AlinaB</dc:creator>
      <dc:date>2018-01-26T07:29:25Z</dc:date>
    </item>
    <item>
      <title>Re: S32K I2C</title>
      <link>https://community.nxp.com/t5/S32-SDK/S32K-I2C/m-p/749876#M334</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Allina,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;This is i2c project that sends 16 byte , to a slave device at address 0x52 and register address 0x0080.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;I realize you can’t test it without having the slave device connected to your board, however I’m requesting to review the code from the master device perspective and point out&amp;nbsp;that which is incorrect.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;I’m using the none blocking send and receive drivers (SDK)and basically before any transmission/reception, I’m making sure the current transfer is done.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;My issue is that the transfer stops after few seconds, that is probably few hundred transfers .&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;The issue could very well may be on the slave side or some hardware problem, but at least you or your colleagues can&amp;nbsp;see&amp;nbsp;if I’m using these routines correctly.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in 0pt;"&gt;&lt;SPAN style="color: #000000; font-family: Calibri; font-size: medium;"&gt;Koorosh Hajiani &lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jan 2018 20:35:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-SDK/S32K-I2C/m-p/749876#M334</guid>
      <dc:creator>hajianik</dc:creator>
      <dc:date>2018-01-26T20:35:32Z</dc:date>
    </item>
    <item>
      <title>Re: S32K I2C</title>
      <link>https://community.nxp.com/t5/S32-SDK/S32K-I2C/m-p/749877#M335</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Koorosh,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;At a first look upon your code I have the following remarks:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;At line 146 from main.c: LPI2C_DRV_MasterSendDataBlocking(0,tx_buff2,2,0,5), here instead of 5 (which represents the timeout in ms) put a greater value such as 0xFFFF.&lt;/LI&gt;&lt;LI&gt;Instead of using this kind of checking:&lt;/LI&gt;&lt;/OL&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPI2C_DRV_MasterReceiveData(INST_LPI2C1, buffer, 16, true);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPI2C_DRV_MasterGetTransferStatus(0,&amp;amp;bytesRemaining);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(bytesRemaining);&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Try with this one:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;status_t retCode;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPI2C_DRV_MasterReceiveData(INST_LPI2C1, buffer, 16, true);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while ((retCode = LPI2C_DRV_MasterGetTransferStatus(INST_LPI2C1, NULL)) == STATUS_BUSY) {};&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; This way you know for sure if status is not busy and you can start a new transfer.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;OL start="3"&gt;&lt;LI&gt;Check if the transfer run successful if using a smaller baud rate, such as 100000 Hz.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please let me know if the transfer succeeded after using one of the above.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Alina&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Jan 2018 08:07:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-SDK/S32K-I2C/m-p/749877#M335</guid>
      <dc:creator>AlinaB</dc:creator>
      <dc:date>2018-01-30T08:07:51Z</dc:date>
    </item>
    <item>
      <title>Re: S32K I2C</title>
      <link>https://community.nxp.com/t5/S32-SDK/S32K-I2C/m-p/749878#M336</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Alina,&lt;/P&gt;&lt;P&gt;Thanks for your response,&lt;/P&gt;&lt;P&gt;The issue turned out to be a hardware problem and it is resolved now.&lt;/P&gt;&lt;P&gt;I just need to verify one other thing:&lt;/P&gt;&lt;P&gt;Based on the I2C protocol , I understand that the MASTER drives the CLK however the DATA line is bidirectional and in fact no one drives it high (since there is a pull up on the line to VDD , as there is a pull up on the&amp;nbsp;CLK too.)&lt;/P&gt;&lt;P&gt;only it is driven low by either master or slave.&lt;/P&gt;&lt;P&gt;The&amp;nbsp;CLK on&amp;nbsp;S32 device however is driven low only by the master. what would be the configuration for that pin(CLK) on the S32K&amp;nbsp; side?&lt;/P&gt;&lt;P&gt;Is it open drain only when driven low and just a high input impedance when high or in both cases it is an open drain output?&lt;/P&gt;&lt;P&gt;The manual is not clear about that.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and lastly, is there a&amp;nbsp;I2C DMA example for this micro using PE,&amp;nbsp; somewhere?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope you're not confused by my question.&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Feb 2018 21:02:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-SDK/S32K-I2C/m-p/749878#M336</guid>
      <dc:creator>hajianik</dc:creator>
      <dc:date>2018-02-07T21:02:08Z</dc:date>
    </item>
    <item>
      <title>Re: S32K I2C</title>
      <link>https://community.nxp.com/t5/S32-SDK/S32K-I2C/m-p/749879#M337</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Koorosh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Both CLK and DATA pins should be configured as open-drain (for both master and slave).&lt;/P&gt;&lt;P&gt;Slaves can also drive the CLK low to slow down the bit rate. After the master has driven&lt;/P&gt;&lt;P&gt;the CLK pin low, the slave can drive SCL low for the required period and then release it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have attached you a short description of how to use lpi2c using DMA transfers.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Alina&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Feb 2018 08:55:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-SDK/S32K-I2C/m-p/749879#M337</guid>
      <dc:creator>AlinaB</dc:creator>
      <dc:date>2018-02-13T08:55:19Z</dc:date>
    </item>
  </channel>
</rss>

