<?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: Kinetis K70 as I2C-Slave in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-K70-as-I2C-Slave/m-p/199691#M2850</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Andreas,&lt;/P&gt;&lt;P&gt;Please make sure you are enabling the interrupt at all levels:&lt;/P&gt;&lt;P&gt;- module (as you've done in your application)&lt;/P&gt;&lt;P&gt;- NVIC (ex:&amp;nbsp;&amp;nbsp;&amp;nbsp; enable_irq(30); don't forget to set the priority too:&amp;nbsp; set_irq_priority (int irq, int prio); )&lt;/P&gt;&lt;P&gt;- core (#define EnableInterrupts asm(" CPSIE i"); )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;David &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 24 Sep 2012 18:10:51 GMT</pubDate>
    <dc:creator>DavidS</dc:creator>
    <dc:date>2012-09-24T18:10:51Z</dc:date>
    <item>
      <title>Kinetis K70 as I2C-Slave</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-K70-as-I2C-Slave/m-p/199690#M2849</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hallo,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a problem to configure the Kinetis K70 as a I2C-Slave.&lt;/P&gt;&lt;P&gt;My Master send the Slave-address but I get always a NACK from my K70.&lt;/P&gt;&lt;P&gt;I have a short example to check the Slave-address.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Here my configuration:&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;SIM_SCGC4 |= 0x40; //Turn on clock to I2C0 module&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;PORTE_PCR19 = PORT_PCR_MUX(4); // SCL&lt;/P&gt;&lt;P&gt;PORTE_PCR18 = PORT_PCR_MUX(4); //SDA&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;I2C0_A1 = 0x6;&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;/TD&gt;&lt;TD&gt;// Slave-address&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;I2C0_C1 |= I2C_C1_IICEN_MASK;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;/* enable IIC */&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;I2C0_C1 |= I2C_C1_IICIE_MASK;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt; // interrupt enable&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;I2C0_C1 &amp;amp;= ~0x10;&lt;/P&gt;&lt;P&gt;I2C0_C1 &amp;amp;= ~I2C_C1_MST_MASK;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At the moment i have only an ISR, which toggels LED's&amp;nbsp; if the Slave address is correct.&lt;/P&gt;&lt;P&gt;void i2c0_isr (void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOA_PDOR &amp;amp;= ~GPIO_PDOR_PDO(GPIO_PIN(11));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOA_PDOR &amp;amp;= ~GPIO_PDOR_PDO(GPIO_PIN(10));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I2C0_S |= 0x2;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I dont know where my mistake is. Have anyone an idea??&lt;/P&gt;&lt;P&gt;Could it be a timing problem?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Sep 2012 13:59:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-K70-as-I2C-Slave/m-p/199690#M2849</guid>
      <dc:creator>andy87</dc:creator>
      <dc:date>2012-09-24T13:59:13Z</dc:date>
    </item>
    <item>
      <title>Re: Kinetis K70 as I2C-Slave</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-K70-as-I2C-Slave/m-p/199691#M2850</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Andreas,&lt;/P&gt;&lt;P&gt;Please make sure you are enabling the interrupt at all levels:&lt;/P&gt;&lt;P&gt;- module (as you've done in your application)&lt;/P&gt;&lt;P&gt;- NVIC (ex:&amp;nbsp;&amp;nbsp;&amp;nbsp; enable_irq(30); don't forget to set the priority too:&amp;nbsp; set_irq_priority (int irq, int prio); )&lt;/P&gt;&lt;P&gt;- core (#define EnableInterrupts asm(" CPSIE i"); )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;David &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Sep 2012 18:10:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-K70-as-I2C-Slave/m-p/199691#M2850</guid>
      <dc:creator>DavidS</dc:creator>
      <dc:date>2012-09-24T18:10:51Z</dc:date>
    </item>
    <item>
      <title>Re: Kinetis K70 as I2C-Slave</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-K70-as-I2C-Slave/m-p/199692#M2851</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi David,&lt;/P&gt;&lt;P&gt;Thank u for your answer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I enabled the interrupts as u discribed. I just set no priority, because this is my only interrupt in my testing-program right now.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I saw that the program run into the isr_default-Interrupt if i wanna set the slave address and the Port-Control-Register to change the GPIO to SDA-functionalty.&lt;/P&gt;&lt;P&gt;It returns then back to the main, but I have no idea why the program jump into the ísr_default.&lt;/P&gt;&lt;P&gt;So I think the program set not really my SDA-Port and my Slave-Address.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Andy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Sep 2012 06:54:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-K70-as-I2C-Slave/m-p/199692#M2851</guid>
      <dc:creator>andy87</dc:creator>
      <dc:date>2012-09-25T06:54:10Z</dc:date>
    </item>
    <item>
      <title>Re: Kinetis K70 as I2C-Slave</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-K70-as-I2C-Slave/m-p/199693#M2852</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Problem is solved:).&lt;/P&gt;&lt;P&gt;My mistake was that I turned on all port clocks &lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;after&lt;/STRONG&gt;&lt;/SPAN&gt; the I2C-Init.&lt;/P&gt;&lt;P&gt;I make it now &lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;before&lt;/STRONG&gt;&lt;/SPAN&gt; the Init and the problem is away.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Andy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Sep 2012 08:11:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-K70-as-I2C-Slave/m-p/199693#M2852</guid>
      <dc:creator>andy87</dc:creator>
      <dc:date>2012-09-25T08:11:04Z</dc:date>
    </item>
    <item>
      <title>Re: Kinetis K70 as I2C-Slave</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-K70-as-I2C-Slave/m-p/199694#M2853</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Andy,&lt;/P&gt;&lt;P&gt;Thanks for sharing the solution.&lt;/P&gt;&lt;P&gt;Congratulations!&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;David &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Sep 2012 14:01:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Kinetis-K70-as-I2C-Slave/m-p/199694#M2853</guid>
      <dc:creator>DavidS</dc:creator>
      <dc:date>2012-09-25T14:01:35Z</dc:date>
    </item>
  </channel>
</rss>

