<?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: Does I2C DMA support common access pattern?</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Does-I2C-DMA-support-common-access-pattern/m-p/1231092#M59623</link>
    <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/132425"&gt;@davenadler&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm in a fight with the forum software trying editing my original response - let me try to reply again...&lt;/P&gt;</description>
    <pubDate>Mon, 15 Feb 2021 16:50:30 GMT</pubDate>
    <dc:creator>myke_predko</dc:creator>
    <dc:date>2021-02-15T16:50:30Z</dc:date>
    <item>
      <title>Does I2C DMA support common access pattern?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Does-I2C-DMA-support-common-access-pattern/m-p/1231036#M59621</link>
      <description>&lt;P&gt;For dozens (hundreds?) of common sensors and peripherals with I2C interface, a common I2C pattern is a write operation immediately followed by a read &lt;U&gt;without releasing the I2C bus&lt;/U&gt;. Typically the write operation sends a command to the I2C slave (ie write one byte to specify register to read), followed by reading some number of bytes of data.&lt;/P&gt;&lt;P&gt;Does Kinetis I2C peripheral directly support this via DMA, so that the application can fire the DMA and only receive an interrupt after DMA has finished read the desired bytes into a buffer?&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;BR /&gt;Best Regards, Dave&lt;/P&gt;&lt;P&gt;PS: If not, what other processors provide this function?&lt;/P&gt;</description>
      <pubDate>Mon, 15 Feb 2021 15:08:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Does-I2C-DMA-support-common-access-pattern/m-p/1231036#M59621</guid>
      <dc:creator>davenadler</dc:creator>
      <dc:date>2021-02-15T15:08:48Z</dc:date>
    </item>
    <item>
      <title>Re: Does I2C DMA support common access pattern?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Does-I2C-DMA-support-common-access-pattern/m-p/1231092#M59623</link>
      <description>&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/132425"&gt;@davenadler&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm in a fight with the forum software trying editing my original response - let me try to reply again...&lt;/P&gt;</description>
      <pubDate>Mon, 15 Feb 2021 16:50:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Does-I2C-DMA-support-common-access-pattern/m-p/1231092#M59623</guid>
      <dc:creator>myke_predko</dc:creator>
      <dc:date>2021-02-15T16:50:30Z</dc:date>
    </item>
    <item>
      <title>Re: Does I2C DMA support common access pattern?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Does-I2C-DMA-support-common-access-pattern/m-p/1231097#M59624</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/132425"&gt;@davenadler&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;No, there isn't a "common access pattern" function (I would love it it there was) that works with (E)DMA.&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;I guess a wrapper method could provide a simple API that carried out (E)DMA operations (there would have to be an i2c_edma_init() API written as well) that handled transfers looking something like:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;start-deviceAddressW-deviceRegisterAddress-writeDataByte(s)-stop&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;start-deviceAddressR-deviceRegisterAddress-readDataByte(s)-stop&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;I just spent a moment reviewing the available SDK APIs and I think it could be done reasonably efficiently with the big issue to be resolved is what happens if a "Nak" was received unexpectedly (which happens in some slave devices sending multiple bytes of data as a way of telling the master that there is no more data to send).&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Now you have the juices flowing.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;myke&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 15 Feb 2021 16:49:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Does-I2C-DMA-support-common-access-pattern/m-p/1231097#M59624</guid>
      <dc:creator>myke_predko</dc:creator>
      <dc:date>2021-02-15T16:49:43Z</dc:date>
    </item>
  </channel>
</rss>

