<?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: 10-bit extended I2C addressing in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/10-bit-extended-I2C-addressing/m-p/611003#M36121</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Johanna Gunter,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Please post your I2C bus wave, and your code for 10bit I2C address.&lt;/P&gt;&lt;P&gt;&amp;nbsp; Then I will help you to do the deep research.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&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>Wed, 19 Apr 2017 01:21:31 GMT</pubDate>
    <dc:creator>kerryzhou</dc:creator>
    <dc:date>2017-04-19T01:21:31Z</dc:date>
    <item>
      <title>10-bit extended I2C addressing</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/10-bit-extended-I2C-addressing/m-p/611000#M36118</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp;I configure the MKL03Z32CAF4R for 10-bit extended I2C addressing.&amp;nbsp; When I receive the first byte of address, the IAAS bit is not set.&amp;nbsp; Is this what I should expect?&amp;nbsp; I have set the ADEXT bit for I2C and set the upper address bits and lower address bits to match the device.&amp;nbsp; Is there a different for chart for the 10-bit operation that I can reference?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Apr 2017 21:15:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/10-bit-extended-I2C-addressing/m-p/611000#M36118</guid>
      <dc:creator>johannagunter</dc:creator>
      <dc:date>2017-04-13T21:15:56Z</dc:date>
    </item>
    <item>
      <title>Re: 10-bit extended I2C addressing</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/10-bit-extended-I2C-addressing/m-p/611001#M36119</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Johanna Gunter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Please check the KL03 reference manual, chapter 35.5.2 10-bit address at first, did you meet the 10bit address table? please also check your I2C bus data.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/6540i83576023F3760896/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Please make sure you meet this table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you still have question, please let me know&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&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>Fri, 14 Apr 2017 03:29:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/10-bit-extended-I2C-addressing/m-p/611001#M36119</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2017-04-14T03:29:04Z</dc:date>
    </item>
    <item>
      <title>Re: 10-bit extended I2C addressing</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/10-bit-extended-I2C-addressing/m-p/611002#M36120</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have implemented the addressing per the table, but the slave never sees IAAS = 1 (neither on the first address byte, nor the second).&amp;nbsp; I get the ACKs, but the interrupt handler never branches down IAAS = 1 (Y).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Apr 2017 22:41:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/10-bit-extended-I2C-addressing/m-p/611002#M36120</guid>
      <dc:creator>johannagunter</dc:creator>
      <dc:date>2017-04-18T22:41:12Z</dc:date>
    </item>
    <item>
      <title>Re: 10-bit extended I2C addressing</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/10-bit-extended-I2C-addressing/m-p/611003#M36121</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Johanna Gunter,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; Please post your I2C bus wave, and your code for 10bit I2C address.&lt;/P&gt;&lt;P&gt;&amp;nbsp; Then I will help you to do the deep research.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&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>Wed, 19 Apr 2017 01:21:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/10-bit-extended-I2C-addressing/m-p/611003#M36121</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2017-04-19T01:21:31Z</dc:date>
    </item>
    <item>
      <title>Re: 10-bit extended I2C addressing</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/10-bit-extended-I2C-addressing/m-p/611004#M36122</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Kerry -&lt;/P&gt;&lt;P&gt;Here is the code for the slave initialization and interrupt handler.&lt;/P&gt;&lt;P&gt;This interrupt handler follows the slave path in the flowchart provided in the operators manual.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Slave initialization:&lt;/P&gt;&lt;P&gt;　&lt;/P&gt;&lt;P&gt;void initializeHWI2C(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;if(boardID == 0){&lt;/P&gt;&lt;P&gt;I2C0_F_bit.MULT = 0x01;&lt;/P&gt;&lt;P&gt;I2C0_F_bit.ICR = 0x18;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;PORTB_PCR3_bit.MUX = 2;&lt;/P&gt;&lt;P&gt;PORTB_PCR4_bit.MUX = 2;&lt;/P&gt;&lt;P&gt;I2C0_A1_bit.AD = boardID;&lt;/P&gt;&lt;P&gt;I2C0_C1_bit.IICEN = 1;&lt;/P&gt;&lt;P&gt;I2C0_C1_bit.IICIE = 1;&lt;/P&gt;&lt;P&gt;I2C0_C1_bit.WUEN = 1; //12-5 JLG to wakeup without peripheral clocks running&lt;/P&gt;&lt;P&gt;I2C0_FLT_bit.SSIE = 1;&lt;/P&gt;&lt;P&gt;NVIC_EnableIRQ(I2C_IRQ);&lt;/P&gt;&lt;P&gt;I2C0_C1_bit.TX = 1;&lt;/P&gt;&lt;P&gt;I2C0_C2_bit.ADEXT = 1;&lt;/P&gt;&lt;P&gt;I2C0_C2_bit.AD = 0; //extended 10-bit addr 10:8&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;　&lt;/P&gt;&lt;P&gt;Slave IRQ handler:&lt;/P&gt;&lt;P&gt;　&lt;/P&gt;&lt;P&gt;void I2C0_IRQHandler(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;unsigned char dummy;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if(I2C0_FLT_bit.STOPF){&lt;/P&gt;&lt;P&gt;I2C0_FLT_bit.STOPF = 1;&lt;/P&gt;&lt;P&gt;I2C0_S_bit.IICIF = 1;&lt;/P&gt;&lt;P&gt;if(i2cRxCounter &amp;gt; 1){&lt;/P&gt;&lt;P&gt;dataReady = 1;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;i2cRxCounter = 0;&lt;/P&gt;&lt;P&gt;i2cTxCounter = 0;&lt;/P&gt;&lt;P&gt;startCount = 0;&lt;/P&gt;&lt;P&gt;return;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;if(I2C0_FLT_bit.STARTF){&lt;/P&gt;&lt;P&gt;I2C0_FLT_bit.STARTF = 1;&lt;/P&gt;&lt;P&gt;I2C0_S_bit.IICIF = 1;&lt;/P&gt;&lt;P&gt;startCount++;&lt;/P&gt;&lt;P&gt;if(startCount &amp;lt;= 1)&lt;/P&gt;&lt;P&gt;return;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else{&lt;/P&gt;&lt;P&gt;I2C0_S_bit.IICIF = 1;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;if((i2cReadFlag &amp;gt; 1) &amp;amp;&amp;amp; (i2cTxCounter==3) &amp;amp;&amp;amp; (I2C0_C1_bit.TX == 1)){&lt;/P&gt;&lt;P&gt;I2C0_C1_bit.TXAK = 0;&lt;/P&gt;&lt;P&gt;I2C0_C1_bit.TX = 0;&lt;/P&gt;&lt;P&gt;dummy = I2C0_D_bit.DATA;&lt;/P&gt;&lt;P&gt;return;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;// Master Mode&lt;/P&gt;&lt;P&gt;if(I2C0_C1_bit.MST){&lt;/P&gt;&lt;P&gt;// Tx&lt;/P&gt;&lt;P&gt;if(I2C0_C1_bit.TX){&lt;/P&gt;&lt;P&gt;// Last byte transmitted?&lt;/P&gt;&lt;P&gt;if(i2cTxCounter &amp;gt;= i2cTxTotalBytes){&lt;/P&gt;&lt;P&gt;I2C0_C1_bit.MST = 0;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else{&lt;/P&gt;&lt;P&gt;// RXAK = 0?&lt;/P&gt;&lt;P&gt;if(I2C0_S_bit.RXAK == 0){&lt;/P&gt;&lt;P&gt;if((i2cTxCounter == 2) &amp;amp;&amp;amp; (i2cReadFlag==1)){&lt;/P&gt;&lt;P&gt;I2C0_C1_bit.RSTA = 1;&lt;/P&gt;&lt;P&gt;i2cReadFlag++;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else{&lt;/P&gt;&lt;P&gt;I2C0_D_bit.DATA = I2C_Tx_Buffer[i2cTxCounter++];&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else{&lt;/P&gt;&lt;P&gt;I2C0_C1_bit.MST = 0;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;// Rx&lt;/P&gt;&lt;P&gt;else{&lt;/P&gt;&lt;P&gt;if(i2cRxCounter &amp;gt;= i2cRxTotalBytes){&lt;/P&gt;&lt;P&gt;I2C0_C1_bit.MST = 0;&lt;/P&gt;&lt;P&gt;rxComplete = 1;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else if((i2cRxCounter+1) == i2cRxTotalBytes){&lt;/P&gt;&lt;P&gt;I2C0_C1_bit.TXAK = 1;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else{ }&lt;/P&gt;&lt;P&gt;I2C_Rx_Buffer[i2cRxCounter++] = I2C0_D_bit.DATA;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;// Slave Mode&lt;/P&gt;&lt;P&gt;else{&lt;/P&gt;&lt;P&gt;if(I2C0_S_bit.IAAS){&lt;/P&gt;&lt;P&gt;if(I2C0_S_bit.SRW == 1){&lt;/P&gt;&lt;P&gt;I2C0_C1_bit.TX = 1;&lt;/P&gt;&lt;P&gt;updateI2Ccommand();&lt;/P&gt;&lt;P&gt;I2C0_D_bit.DATA = I2C_Tx_Buffer[i2cTxCounter++];&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else{&lt;/P&gt;&lt;P&gt;I2C0_C1_bit.TX = 0;&lt;/P&gt;&lt;P&gt;dummy = I2C0_D_bit.DATA;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else{&lt;/P&gt;&lt;P&gt;if(I2C0_S_bit.SRW){&lt;/P&gt;&lt;P&gt;if(I2C0_S_bit.RXAK==0){&lt;/P&gt;&lt;P&gt;I2C0_D_bit.DATA = I2C_Tx_Buffer[i2cTxCounter++];&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else{&lt;/P&gt;&lt;P&gt;I2C0_C1_bit.TX = 0;&lt;/P&gt;&lt;P&gt;dummy = I2C0_D_bit.DATA;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;else{&lt;/P&gt;&lt;P&gt;I2C_Rx_Buffer[i2cRxCounter++] = I2C0_D_bit.DATA;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;　&lt;/P&gt;&lt;P&gt;The following waveforms are a slave write (left) and slave read (right).&amp;nbsp; The slave address is 0b0000000001.&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN"&gt;&lt;/SPAN&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="i2c_10-bit_write.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/11887i253D8626E3C52030/image-size/large?v=v2&amp;amp;px=999" role="button" title="i2c_10-bit_write.jpg" alt="i2c_10-bit_write.jpg" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="i2c_10-bit_read.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/11940iC1FE4DBDCA84A375/image-size/large?v=v2&amp;amp;px=999" role="button" title="i2c_10-bit_read.jpg" alt="i2c_10-bit_read.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;From reference manual:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="slave_flowchart.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/12028i2510E12775BC62B9/image-size/large?v=v2&amp;amp;px=999" role="button" title="slave_flowchart.jpg" alt="slave_flowchart.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Apr 2017 16:56:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/10-bit-extended-I2C-addressing/m-p/611004#M36122</guid>
      <dc:creator>johannagunter</dc:creator>
      <dc:date>2017-04-19T16:56:00Z</dc:date>
    </item>
  </channel>
</rss>

