<?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: IIC HELP!!! in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/IIC-HELP/m-p/168928#M11136</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No change means still no clock? Try setting up baud register before enabling IIC.&lt;/P&gt;&lt;P&gt;You didn't say what derivative you are using. On some parts IIC modules are routeable to different pins. You should check that.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I see you are waiting for RXAK==0 in a loop. This doesn't make a lot of sense. After write&amp;nbsp;to external device&amp;nbsp;is complete, RXAK says you did that external device ACK your data or not. You should not wait for RXAK, but do some useful action on wrong RXAK level, like signal some error, abort transfer etc.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 18 Dec 2010 15:26:00 GMT</pubDate>
    <dc:creator>kef</dc:creator>
    <dc:date>2010-12-18T15:26:00Z</dc:date>
    <item>
      <title>IIC HELP!!!</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/IIC-HELP/m-p/168923#M11131</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;BR /&gt;I have a problem whith my IIC routine, I checked the routine about 10&lt;BR /&gt;times, let it check by friend and nobody figures out where the problem&lt;BR /&gt;is.&lt;BR /&gt;&lt;BR /&gt;I will call form the main code the Init_I2C, and then I will call&lt;BR /&gt;IIC_write, this code should place on the bus the device address, the&lt;BR /&gt;memory address and the data, the I2C_read should place on the bus the&lt;BR /&gt;device address the memory address, restart and read the data.&lt;BR /&gt;&lt;BR /&gt;Whats happening is that when i try to write, the bus is doing a logic&lt;BR /&gt;change, it goes from hi to low and stays there until reset.&lt;BR /&gt;no clk is generated, some times it gets stocked on the flag checking.&lt;BR /&gt;When I read, when its not get stocked it returns a value that is&lt;BR /&gt;completly wrong.&lt;BR /&gt;&lt;BR /&gt;Please help me whit this situation.&lt;/P&gt;&lt;P&gt;I attach the iic c file&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;thanks very much, Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2010 09:25:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/IIC-HELP/m-p/168923#M11131</guid>
      <dc:creator>Circuito</dc:creator>
      <dc:date>2010-12-12T09:25:25Z</dc:date>
    </item>
    <item>
      <title>Re: IIC HELP!!!</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/IIC-HELP/m-p/168924#M11132</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Could you or your friend explain what this piece of code should do?:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;IICS_IICIF = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In fact above line&amp;nbsp;makes attempt to&lt;/P&gt;&lt;P&gt;1) clear IAAS flag&lt;/P&gt;&lt;P&gt;2) if ARBL is set, then also clear ARBL&lt;/P&gt;&lt;P&gt;3) preserve contents of&amp;nbsp;IICIF flag&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does it help? :smileyhappy:&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2010 15:55:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/IIC-HELP/m-p/168924#M11132</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2010-12-12T15:55:26Z</dc:date>
    </item>
    <item>
      <title>Re: IIC HELP!!!</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/IIC-HELP/m-p/168925#M11133</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, thanks for reply to my question.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;IICS_IICIF = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;this line clears the interrupt flag. in this case this flag will be used to know when a transmit is completed to continue whith the code,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Dec 2010 03:05:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/IIC-HELP/m-p/168925#M11133</guid>
      <dc:creator>Circuito</dc:creator>
      <dc:date>2010-12-14T03:05:18Z</dc:date>
    </item>
    <item>
      <title>Re: IIC HELP!!!</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/IIC-HELP/m-p/168926#M11134</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;IICS_IICIF = 0; // doesn't clear IICIF. It does what I wrote above. Please read documentation carefully and find that IICIF is cleared writing "1" to it. Also keep in mind that&amp;nbsp;in case other IICS bits&amp;nbsp;are "1" before executing IICS_IICIF=0, &amp;nbsp;"1" will be written back to such bits. This means that ARBL and IAAS is always&amp;nbsp;cleared executing IICS_IICIF=0, and IICIF is not affected.&amp;nbsp;IICS_IICIF=1 would be little better but still wrong, it would clear all flags in IICS.To clear just IICIF you need to&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; IICS_IICIF = IICS_IICIF_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;or&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; IICS_IICIF &amp;amp;= IICS_IICIF_MASK;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 14 Dec 2010 04:49:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/IIC-HELP/m-p/168926#M11134</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2010-12-14T04:49:13Z</dc:date>
    </item>
    <item>
      <title>Re: IIC HELP!!!</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/IIC-HELP/m-p/168927#M11135</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks again for your fast reply,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I checked the datasheet again and you where right, so I replaced the expression IICS_IICIF = 0; to IICS_IICIF &amp;amp;= IICS_IICIF_MASK; and tried again, but no change, it still not working.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 18 Dec 2010 05:49:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/IIC-HELP/m-p/168927#M11135</guid>
      <dc:creator>Circuito</dc:creator>
      <dc:date>2010-12-18T05:49:07Z</dc:date>
    </item>
    <item>
      <title>Re: IIC HELP!!!</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/IIC-HELP/m-p/168928#M11136</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No change means still no clock? Try setting up baud register before enabling IIC.&lt;/P&gt;&lt;P&gt;You didn't say what derivative you are using. On some parts IIC modules are routeable to different pins. You should check that.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I see you are waiting for RXAK==0 in a loop. This doesn't make a lot of sense. After write&amp;nbsp;to external device&amp;nbsp;is complete, RXAK says you did that external device ACK your data or not. You should not wait for RXAK, but do some useful action on wrong RXAK level, like signal some error, abort transfer etc.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 18 Dec 2010 15:26:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/IIC-HELP/m-p/168928#M11136</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2010-12-18T15:26:00Z</dc:date>
    </item>
  </channel>
</rss>

