<?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: I2C FLT being set</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303441#M12809</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm not configuring IIC baud rate on my device at all because it is a slave device. Anything else?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 27 May 2014 06:23:59 GMT</pubDate>
    <dc:creator>martindusek</dc:creator>
    <dc:date>2014-05-27T06:23:59Z</dc:date>
    <item>
      <title>I2C FLT being set</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303439#M12807</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have an I2C slave on KL02. It communicates with master well however after some time, FLT in I2C-&amp;gt;FLT is set to number 16 and I2C communication freezes as slave holds lines low. FLT is set autonomously by I2C module, I don't write to FLT in my program (nor accidentaly).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can somebody explain how can that happen?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 May 2014 12:49:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303439#M12807</guid>
      <dc:creator>martindusek</dc:creator>
      <dc:date>2014-05-22T12:49:39Z</dc:date>
    </item>
    <item>
      <title>Re: I2C FLT being set</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303440#M12808</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is a weird behavior of the I2C module; the FLT field of the I2Cx_FLT register is directly&amp;nbsp; bound to the I2C frequency. Which is the frequency you are configuring your I2C module?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The I2C module have a frequency up to CLKBUS/20 , probably if it is not like this the Programmable input glitch filter could be behave in an odd way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps,&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;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. It would be nice!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 24 May 2014 02:52:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303440#M12808</guid>
      <dc:creator>adriancano</dc:creator>
      <dc:date>2014-05-24T02:52:33Z</dc:date>
    </item>
    <item>
      <title>Re: I2C FLT being set</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303441#M12809</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm not configuring IIC baud rate on my device at all because it is a slave device. Anything else?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 May 2014 06:23:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303441#M12809</guid>
      <dc:creator>martindusek</dc:creator>
      <dc:date>2014-05-27T06:23:59Z</dc:date>
    </item>
    <item>
      <title>Re: I2C FLT being set</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303442#M12810</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Could you please share your initialization routine? I would like to see your configuration.&lt;/P&gt;&lt;P&gt;This is a very weird error but I think this could be caused by something missing on configuration or even in something small on your functional code (forgot to clear a flag or something) :/&lt;/P&gt;&lt;P&gt;I will be glad to take a look on your code.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 May 2014 17:52:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303442#M12810</guid>
      <dc:creator>perlam_i_au</dc:creator>
      <dc:date>2014-05-27T17:52:44Z</dc:date>
    </item>
    <item>
      <title>Re: I2C FLT being set</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303443#M12811</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is my IIC slave driver (sorry, I can't see any option to format the text as source code). I don't proces IIC events in ISR. When an IIC interrupt occurs, I disable it at NVIC and later proces the interrupt in my main program (IicSlaveExecute()). Calls IicSlaveAddressed, IicSlaveStopped, IicSlaveByteGet, IicSlaveByteProcess are callbacks to my application level.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Macros Flag(), ArbitrationLost(), ... are abbreviations for IIC-&amp;gt;S &amp;amp; I2C_S_IICIF_MASK, IIC-&amp;gt;S &amp;amp; I2C_S_ARBL_MASK, ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void IicSlaveInit( void)&lt;BR /&gt;// Initialize bus&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; SIM-&amp;gt;SCGC4 |= SIM_SCGC4_I2C0_MASK&lt;BR /&gt;&amp;nbsp;&amp;nbsp; PinFunction(IIC_SLAVE_SDA_PIN, IIC_SLAVE_SDA_PIN_FUNCTION);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; PinFunction(IIC_SLAVE_SCL_PIN, IIC_SLAVE_SCL_PIN_FUNCTION);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; IIC-&amp;gt;C1 = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;BR /&gt; CpuIrqAttach(I2C0_IRQn, 0, I2C0_IRQHandler);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; CpuIrqEnable( I2C0_IRQn);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; IIC-&amp;gt;A1 = IIC_SLAVE_ADDRESS;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; IIC-&amp;gt;C1 = I2C_C1_IICEN_MASK | I2C_C1_IICIE_MASK; | I2C_C1_WUEN_MASK;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; IIC-&amp;gt;FLT |= I2C_FLT_STOPIE_MASK;&lt;BR /&gt;} // IicSlaveInit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void IicSlaveExecute( void)&lt;BR /&gt;// Execute&lt;BR /&gt;{&lt;BR /&gt;byte Data;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; if(!Flag()) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if(IIC-&amp;gt;FLT &amp;amp; 16) { // if I don't&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IIC-&amp;gt;FLT |= 16;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClearFlag();&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else if(ArbitrationLost()) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ArbitrationLostClear();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClearFlag();&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else if(StopFlag()) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClearStopFlag();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClearFlag();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Acknowledge();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetReceiveMode();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Read();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IicSlaveStopped();&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else if(Addressed()) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClearFlag();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IicSlaveAddressed( !ReadWrite());&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Acknowledge();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(ReadWrite()) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetTransmitMode();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(!IicSlaveByteGet( &amp;amp;Data)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data = 0xFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Send( Data);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetReceiveMode();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Read();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ClearFlag();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(ReadWrite()) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(Acknowledged()) { // ACK, Tx byte&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(!IicSlaveByteGet( &amp;amp;Data)) {&lt;BR /&gt;&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; Data = 0xFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Send( Data);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else { // NACK, turn off Tx&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SetReceiveMode();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Read();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Acknowledge();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Data = Read();&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IicSlaveByteProcess(Data);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; CpuIrqEnable( I2C0_IRQn);&lt;BR /&gt;} // IicSlaveExecute&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void __irq I2C0_IRQHandler( void)&lt;/P&gt;&lt;P&gt;// ISR&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; CpuIrqDisable( I2C0_IRQn);&lt;/P&gt;&lt;P&gt;} // I2C0_IRQHandler&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 May 2014 05:12:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303443#M12811</guid>
      <dc:creator>martindusek</dc:creator>
      <dc:date>2014-05-28T05:12:53Z</dc:date>
    </item>
    <item>
      <title>Re: I2C FLT being set</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303444#M12812</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I also want to know your part number and for code and could you please add your project as a zip file on the comment?&lt;/P&gt;&lt;P&gt;To add documents you only need to open Advanced editor and click over attachment button, then you can add your project :smileygrin:&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 May 2014 21:34:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303444#M12812</guid>
      <dc:creator>perlam_i_au</dc:creator>
      <dc:date>2014-05-28T21:34:44Z</dc:date>
    </item>
    <item>
      <title>Re: I2C FLT being set</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303445#M12813</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't use Codewarrior. I think it will happen also with your standard IIC driver if you enable STOPIE bit. My part number is MKL02Z32VFM4 (on FRDM-KL02Z).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 May 2014 04:36:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303445#M12813</guid>
      <dc:creator>martindusek</dc:creator>
      <dc:date>2014-05-29T04:36:48Z</dc:date>
    </item>
    <item>
      <title>Re: I2C FLT being set</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303446#M12814</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well this is not a common error and as long as I cannot reproduce the error my best recommendation for you will be to review the example code included in another thread on the community, please go to: &lt;A href="https://community.nxp.com/message/380387"&gt;Re: Re: Interrupt in I2C&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope you find these example codes useful and please let me know what happens.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a nice day,&lt;BR /&gt;Perla Moncada&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>Thu, 29 May 2014 15:42:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-FLT-being-set/m-p/303446#M12814</guid>
      <dc:creator>perlam_i_au</dc:creator>
      <dc:date>2014-05-29T15:42:25Z</dc:date>
    </item>
  </channel>
</rss>

