<?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: KL28 LPI2C Driver</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL28-LPI2C-Driver/m-p/783985#M47745</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Jing. Also i guess once you program the MTDR with a receive command and number of bytes you cannot change the receive size until after the stop command. right ? I get a fifo error if i try doing so apparently because the master is busy and the lpi2c requires that a start be sent before writing to the MTDR...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 06 Sep 2018 17:36:03 GMT</pubDate>
    <dc:creator>testbed</dc:creator>
    <dc:date>2018-09-06T17:36:03Z</dc:date>
    <item>
      <title>KL28 LPI2C Driver</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL28-LPI2C-Driver/m-p/783983#M47743</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is it possible to send an ACK to the slave&amp;nbsp; using the LPI2C of KL28 ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to interface pn532 to KL28.&amp;nbsp; The below line i use to read the response from the&amp;nbsp; pn532.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;stat = LPI2C_DRV_MasterReceiveDataBlocking(INST_LPI2C1, rxbuffer, 256, true, OSIF_WAIT_FOREVER);&lt;/P&gt;&lt;P&gt;The above statement works.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Instead of reading 256 bytes every-time i would like to read&amp;nbsp; byte by byte and stop when the read bytes equal to&lt;/P&gt;&lt;P&gt;the length that was received in the response header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;E.g (probed from analyzer) What i would like to do is this - Get length in red and read only those many bytes in black bold&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;Start, h48 [ h24 | WR ], h00, h00, hFF, h02, hFE, hD4, h02, h2A, h00, Stop&lt;STRONG&gt; [GetFirmwareVersion]&lt;/STRONG&gt;&lt;BR /&gt;Start, h49 [ h24 | RD ], h01, h00, h00, hFF, h00, hFF NAK, Stop &lt;STRONG&gt;[ACK]&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;Start, h49 [ h24 | RD ], h01, h00, h00, hFF, &lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;h06&lt;/STRONG&gt;&lt;/SPAN&gt;, hFA, &lt;STRONG&gt;hD5, h03, h32, h01, h06, h07&lt;/STRONG&gt; NAK, Stop &lt;STRONG&gt;[Response]&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;/P&gt;&lt;P style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;STRONG&gt;Instead of reading worst case 256 bytes for every command &lt;/STRONG&gt;(from KL28)&lt;/P&gt;&lt;P style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;/P&gt;&lt;P style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;Start, h48 [ h24 | WR ], h00, h00, hFF, h02, hFE, hD4, h02, h2A, h00, Stop&lt;BR /&gt;Start, h49 [ h24 | RD ], h01, h00, h00, hFF, h00, hFF NAK, Stop&lt;BR /&gt;Start, h49 [ h24 | RD ], h01, h00, h00, hFF, &lt;STRONG&gt;h06&lt;/STRONG&gt;, hFA, &lt;STRONG&gt;hD5, h03, h32, h01, h06, h07&lt;/STRONG&gt;, hE8, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00, h00 NAK, Stop&lt;/P&gt;&lt;P style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;/P&gt;&lt;P style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;I do not want to hard code/keep track of the response length of every command as i am going to be using indataexchange where the data length may vary (less than 256B) and reading 256 bytes each time will not be efficient.&lt;/P&gt;&lt;P style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;&lt;/P&gt;&lt;P style="-qt-block-indent: 0; text-indent: 0px; margin: 0px;"&gt;I have successfully implemented the same with the IIC peripheral of KW31Z which has ACK bit generation feature. Just wondering if it is possible with LPI2C...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 02 Sep 2018 10:13:54 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL28-LPI2C-Driver/m-p/783983#M47743</guid>
      <dc:creator>testbed</dc:creator>
      <dc:date>2018-09-02T10:13:54Z</dc:date>
    </item>
    <item>
      <title>Re: KL28 LPI2C Driver</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL28-LPI2C-Driver/m-p/783984#M47744</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;KL28's LPI2C module is different with KW31's I2C module. It send ACK automatically in master mode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Jing&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Sep 2018 06:46:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL28-LPI2C-Driver/m-p/783984#M47744</guid>
      <dc:creator>jingpan</dc:creator>
      <dc:date>2018-09-03T06:46:10Z</dc:date>
    </item>
    <item>
      <title>Re: KL28 LPI2C Driver</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL28-LPI2C-Driver/m-p/783985#M47745</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Jing. Also i guess once you program the MTDR with a receive command and number of bytes you cannot change the receive size until after the stop command. right ? I get a fifo error if i try doing so apparently because the master is busy and the lpi2c requires that a start be sent before writing to the MTDR...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Sep 2018 17:36:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL28-LPI2C-Driver/m-p/783985#M47745</guid>
      <dc:creator>testbed</dc:creator>
      <dc:date>2018-09-06T17:36:03Z</dc:date>
    </item>
    <item>
      <title>Re: KL28 LPI2C Driver</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL28-LPI2C-Driver/m-p/783986#M47746</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;if you want to stop a polling mode transfer, you can call LPI2C_MasterStop(). If&amp;nbsp;you want to terminate a transfer in non-blocking mode, the LPI2C_MasterTransferAbort() API shall be called.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Jing&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Sep 2018 08:52:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KL28-LPI2C-Driver/m-p/783986#M47746</guid>
      <dc:creator>jingpan</dc:creator>
      <dc:date>2018-09-10T08:52:28Z</dc:date>
    </item>
  </channel>
</rss>

