<?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 KEA Interrupt Input Killing ADT7420 Sensor in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KEA-Interrupt-Input-Killing-ADT7420-Sensor/m-p/380791#M20239</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif;"&gt;Hello , &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 10pt; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 10pt; line-height: 1.5em;"&gt;I am using an ADT7420 (from Analog Devices) with an interrupt set to 35 Celsius. The issue I am having is the when the interrupt fires (whether active low or active high) the sensor stops working.&amp;nbsp; By stop working I mean the I2C communication stops and can not be reconnected without resetting the whole system. The interrupt pin is directly connected to PA0 which is configured as a KBI. I have measured the input pin on the micro I am using (KEA64 by Freescale) and it is sitting at 0.60 V. When the ADT7420 is disconnected from this pin there is no issue. I was therefore wondering why this may be occurring and how I may go about mitigating the issue. &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;Would a simple diode help or would putting an inverter inline to isolate the ADT7420 from the KEA64 solve the issue. Any information on why this occurs or away to prevent it from happening would be much appreciated.&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;Thanks&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="2014-12-30 03_34_00-Edit Message KEA Interrupt Input Killing ADT7420 Sensor _ Freescale Community.jpg"&gt;&lt;IMG alt="2014-12-30 03_34_00-Edit Message KEA Interrupt Input Killing ADT7420 Sensor _ Freescale Community.jpg" src="https://community.nxp.com/t5/image/serverpage/image-id/48811i0610485212878F5A/image-size/large?v=v2&amp;amp;px=999" title="2014-12-30 03_34_00-Edit Message KEA Interrupt Input Killing ADT7420 Sensor _ Freescale Community.jpg" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;Interrupt firing and I2C stopping abruptly.&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="2014-12-30 03_34_51-Edit Message KEA Interrupt Input Killing ADT7420 Sensor _ Freescale Community.jpg"&gt;&lt;IMG alt="2014-12-30 03_34_51-Edit Message KEA Interrupt Input Killing ADT7420 Sensor _ Freescale Community.jpg" src="https://community.nxp.com/t5/image/serverpage/image-id/48815i297A94400D2BF0DE/image-size/large?v=v2&amp;amp;px=999" title="2014-12-30 03_34_51-Edit Message KEA Interrupt Input Killing ADT7420 Sensor _ Freescale Community.jpg" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;Close up of interrupt firing and I2C stopping with no stop bit&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;&lt;SPAN style="color: #575757; font-family: arial, helvetica, sans-serif; font-size: 9pt; line-height: 12pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14199287176324217" jivemacro_uid="_14199287176324217" modifiedtitle="true"&gt;
&lt;P&gt;//Interrupt Handlers&lt;/P&gt;
&lt;P&gt;void KBI0_IRQHandler()&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if((GPIOA_PDIR &amp;amp; GPIO_PDIR_PDI(0x1)))&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; //Temperature interrupt &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Deal with high temperature scenario&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOA_PTOR |= 0x10000;&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; //Set output low, toggle LED0&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&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; read_Temperature();//TODO: Should disable interrupts here read in mainand then renable interrupts&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KBI0_SC |= KBI_SC_KBACK_MASK;&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; //Clear interrupt flag&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;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 02 Nov 2020 13:15:08 GMT</pubDate>
    <dc:creator>kaslewis</dc:creator>
    <dc:date>2020-11-02T13:15:08Z</dc:date>
    <item>
      <title>KEA Interrupt Input Killing ADT7420 Sensor</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KEA-Interrupt-Input-Killing-ADT7420-Sensor/m-p/380791#M20239</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif;"&gt;Hello , &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 10pt; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #222222; font-family: arial, sans-serif; font-size: 10pt; line-height: 1.5em;"&gt;I am using an ADT7420 (from Analog Devices) with an interrupt set to 35 Celsius. The issue I am having is the when the interrupt fires (whether active low or active high) the sensor stops working.&amp;nbsp; By stop working I mean the I2C communication stops and can not be reconnected without resetting the whole system. The interrupt pin is directly connected to PA0 which is configured as a KBI. I have measured the input pin on the micro I am using (KEA64 by Freescale) and it is sitting at 0.60 V. When the ADT7420 is disconnected from this pin there is no issue. I was therefore wondering why this may be occurring and how I may go about mitigating the issue. &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;Would a simple diode help or would putting an inverter inline to isolate the ADT7420 from the KEA64 solve the issue. Any information on why this occurs or away to prevent it from happening would be much appreciated.&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;Thanks&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="2014-12-30 03_34_00-Edit Message KEA Interrupt Input Killing ADT7420 Sensor _ Freescale Community.jpg"&gt;&lt;IMG alt="2014-12-30 03_34_00-Edit Message KEA Interrupt Input Killing ADT7420 Sensor _ Freescale Community.jpg" src="https://community.nxp.com/t5/image/serverpage/image-id/48811i0610485212878F5A/image-size/large?v=v2&amp;amp;px=999" title="2014-12-30 03_34_00-Edit Message KEA Interrupt Input Killing ADT7420 Sensor _ Freescale Community.jpg" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;Interrupt firing and I2C stopping abruptly.&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="2014-12-30 03_34_51-Edit Message KEA Interrupt Input Killing ADT7420 Sensor _ Freescale Community.jpg"&gt;&lt;IMG alt="2014-12-30 03_34_51-Edit Message KEA Interrupt Input Killing ADT7420 Sensor _ Freescale Community.jpg" src="https://community.nxp.com/t5/image/serverpage/image-id/48815i297A94400D2BF0DE/image-size/large?v=v2&amp;amp;px=999" title="2014-12-30 03_34_51-Edit Message KEA Interrupt Input Killing ADT7420 Sensor _ Freescale Community.jpg" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;Close up of interrupt firing and I2C stopping with no stop bit&lt;/P&gt;&lt;P style="color: #222222; font-family: arial, sans-serif;"&gt;&lt;SPAN style="color: #575757; font-family: arial, helvetica, sans-serif; font-size: 9pt; line-height: 12pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_text_macro jive_macro_code _jivemacro_uid_14199287176324217" jivemacro_uid="_14199287176324217" modifiedtitle="true"&gt;
&lt;P&gt;//Interrupt Handlers&lt;/P&gt;
&lt;P&gt;void KBI0_IRQHandler()&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if((GPIOA_PDIR &amp;amp; GPIO_PDIR_PDI(0x1)))&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; //Temperature interrupt &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Deal with high temperature scenario&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOA_PTOR |= 0x10000;&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; //Set output low, toggle LED0&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&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; read_Temperature();//TODO: Should disable interrupts here read in mainand then renable interrupts&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; KBI0_SC |= KBI_SC_KBACK_MASK;&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; //Clear interrupt flag&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;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 13:15:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KEA-Interrupt-Input-Killing-ADT7420-Sensor/m-p/380791#M20239</guid>
      <dc:creator>kaslewis</dc:creator>
      <dc:date>2020-11-02T13:15:08Z</dc:date>
    </item>
    <item>
      <title>Re: KEA Interrupt Input Killing ADT7420 Sensor</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KEA-Interrupt-Input-Killing-ADT7420-Sensor/m-p/380792#M20240</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would suggest that there is a problem with the &lt;STRONG&gt;read_temperature()&lt;/STRONG&gt; routine since the clocks of the I2C read also look strange compared to the reads taking place before the interrupt arrives (no clock stretching taking place in the 9th clock cycle).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or is it a problem that you are polling the I2C bus and the interrupt interrupts the present I2C operation and starts a new I2C operation, which corrupts the original read? If this is the case you need to take the &lt;STRONG&gt;read_temperature()&lt;/STRONG&gt; out of the interrupt and instead set a flag to tell the main polling code that it should do the read "after" it has completed the present I2C activity. Since your operarion looks to be completely based on polling (also the I2C driver) I would in fact also suggest that there is not much sense in using an interrupt but instead just check the temperature input state after the main I2C operation completes (between each loop) and handle when it sees that its level is indicating the interrupt state.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Dec 2014 17:18:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KEA-Interrupt-Input-Killing-ADT7420-Sensor/m-p/380792#M20240</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2014-12-30T17:18:35Z</dc:date>
    </item>
    <item>
      <title>Re: KEA Interrupt Input Killing ADT7420 Sensor</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/KEA-Interrupt-Input-Killing-ADT7420-Sensor/m-p/380793#M20241</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The pin PA0 is connected to I2C clock soI think it might be the problem for I2C not working after the interrupt&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Nov 2015 08:35:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/KEA-Interrupt-Input-Killing-ADT7420-Sensor/m-p/380793#M20241</guid>
      <dc:creator>vignesh_vb_7</dc:creator>
      <dc:date>2015-11-25T08:35:25Z</dc:date>
    </item>
  </channel>
</rss>

