<?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>LPC MicrocontrollersのトピックLPC2132</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2132/m-p/548225#M13613</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mrdjoni on Mon Sep 28 07:01:35 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have strange problem with this chip - LPC2132.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I can copy whole EPROM to another by using I2C.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Problem is I can do that only one time!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I work with interrupt routines. After first full succesful&amp;nbsp; copy of 32KB data next time it can't enter STA interrupt. Like someone is holding communication busy.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I measure signal on sck and all is ok so everything is ready for new data transfer but... it stuck. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In first data copy, STA is activated after every 128B of data so very much...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Why it stucks when I want to do that second time I don't know.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Can someone help me?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is code last executed by MCU, after that it stops:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned char I2C0Transfer(unsigned char eAddr, unsigned short pAddr, unsigned char *buff, unsigned int length)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned char functStatus=FAIL;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;data_counter=0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;address_16_sent=0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;VICVectAddr=0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I2C0CONCLR=I2C_RESET;&amp;nbsp; // Clear I2C - included if User forgot to "StopI2C()" else this function would hang., already done in IRQ and init&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I2C0CONSET=I2C_EN;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Active Master Mode on I2C bus&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;comm_started=1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;data_bytes=buff;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(length&amp;gt;128)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;i2c0_state=I2C_FAIL;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;functStatus=FAIL;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;data_length=length;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pAddr_Eprom_High=(unsigned char)highByte(pAddr);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pAddr_Eprom_Low=(unsigned char)pAddr;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;eAddr_Eprom=eAddr;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I2C0CONSET = I2C_STA;// set STA dont allow acknowledges&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;i2c0_state=I2C_IN_PROGRESS;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;functStatus=SUCCESS;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;return functStatus;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:49:46 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:49:46Z</dc:date>
    <item>
      <title>LPC2132</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2132/m-p/548225#M13613</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mrdjoni on Mon Sep 28 07:01:35 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have strange problem with this chip - LPC2132.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I can copy whole EPROM to another by using I2C.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Problem is I can do that only one time!!!&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I work with interrupt routines. After first full succesful&amp;nbsp; copy of 32KB data next time it can't enter STA interrupt. Like someone is holding communication busy.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I measure signal on sck and all is ok so everything is ready for new data transfer but... it stuck. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In first data copy, STA is activated after every 128B of data so very much...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Why it stucks when I want to do that second time I don't know.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Can someone help me?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here is code last executed by MCU, after that it stops:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned char I2C0Transfer(unsigned char eAddr, unsigned short pAddr, unsigned char *buff, unsigned int length)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned char functStatus=FAIL;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;data_counter=0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;address_16_sent=0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;VICVectAddr=0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I2C0CONCLR=I2C_RESET;&amp;nbsp; // Clear I2C - included if User forgot to "StopI2C()" else this function would hang., already done in IRQ and init&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I2C0CONSET=I2C_EN;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Active Master Mode on I2C bus&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;comm_started=1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;data_bytes=buff;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;if(length&amp;gt;128)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;i2c0_state=I2C_FAIL;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;functStatus=FAIL;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;data_length=length;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pAddr_Eprom_High=(unsigned char)highByte(pAddr);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;pAddr_Eprom_Low=(unsigned char)pAddr;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;eAddr_Eprom=eAddr;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I2C0CONSET = I2C_STA;// set STA dont allow acknowledges&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;i2c0_state=I2C_IN_PROGRESS;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;functStatus=SUCCESS;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;return functStatus;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:49:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC2132/m-p/548225#M13613</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:49:46Z</dc:date>
    </item>
  </channel>
</rss>

