<?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: Reading LPC UID (s/n): different results in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595269#M31316</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by OXO on Thu Sep 27 05:09:01 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;This code works all the time. It's based on an app note, but I can't remember which :rolleyes:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;// read unique chip id from LPC
// by IAP call
#define IAP_ADDRESS 0x1FFF1FF1
unsigned param_table[5];
unsigned result_table[5];

static void iap_entry(unsigned param_tab[],unsigned result_tab[])
{
&amp;nbsp;&amp;nbsp; void (*iap)(unsigned [],unsigned []);

&amp;nbsp;&amp;nbsp; iap = (void (*)(unsigned [],unsigned []))IAP_ADDRESS;
&amp;nbsp;&amp;nbsp; iap(param_tab,result_tab);
}

void read_serial_number(uint32_t *ptr)&amp;nbsp;&amp;nbsp;&amp;nbsp; //read serial via IAP
{
&amp;nbsp;&amp;nbsp; param_table[0] = 58; //IAP command
&amp;nbsp;&amp;nbsp; iap_entry(param_table,result_table);

&amp;nbsp;&amp;nbsp; if(result_table[0] == 0) //return: CODE SUCCESS
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Serial Number: %08X %08X %08X %08X\n\r",result_table[1],result_table[2],result_table[3],result_table[4]);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr[0] = result_table[1];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr[1] = result_table[2];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr[2] = result_table[3];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr[3] = result_table[4];
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Serial Number Read Error\n\r");
&amp;nbsp;&amp;nbsp; }
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 21:34:20 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T21:34:20Z</dc:date>
    <item>
      <title>Reading LPC UID (s/n): different results</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595263#M31310</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Jaecko on Thu Sep 27 01:26:03 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When reading the device serial number of an LPC1769, i often get different results when reading repeatedly.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The most common s/n i get is "0808F715-53560F40-4ECD83F7-F5000001", so i assume that this is the correct one.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But sometimes it looks like "00000015-100011E0-00000002-000007FA", "00000015-100011E0-00000001-00000001" or something like "0808F715-53560F40-4ECD83F7-00000001" which has only one byte difference.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;How i read the s/n (relevant code) is attached below.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does somebody know, why i get different results here?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
static uint32_t IAP_cmd[5];
static uint32_t IAP_res[5];

#define IAPCMD_READ_UID&amp;nbsp; 58
#define IAP_ENTRY_LOCATION&amp;nbsp; ((IAP_t)0x1FFF1FF1)

#define IAP_ReadUID() \
{ \
&amp;nbsp; IAP_cmd[0] = IAPCMD_READ_UID; \
&amp;nbsp; IAP_Execute(); \
}

void IAP_Execute( void )
{
&amp;nbsp; IAP_ENTRY_LOCATION(IAP_cmd, IAP_res);
}

void IAP_GetUID(uint32_t *uid)
{
&amp;nbsp; IAP_ReadUID();
&amp;nbsp; uid[0] = IAP_res[0];
&amp;nbsp; uid[1] = IAP_res[1];
&amp;nbsp; uid[2] = IAP_res[2];
&amp;nbsp; uid[3] = IAP_res[3];
&amp;nbsp; uid[4] = IAP_res[4];
}


uint32_t tmp32buffer[5];
IAP_GetUID(tmp32buffer); // &amp;lt;= here, elements 1...4 should contain the s/n, 0 is always 0
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 21:34:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595263#M31310</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T21:34:17Z</dc:date>
    </item>
    <item>
      <title>Re: Reading LPC UID (s/n): different results</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595264#M31311</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Thu Sep 27 01:48:45 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;First guess: Forgotten to increase stack offset :confused:&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 21:34:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595264#M31311</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T21:34:17Z</dc:date>
    </item>
    <item>
      <title>Re: Reading LPC UID (s/n): different results</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595265#M31312</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Jaecko on Thu Sep 27 02:23:23 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Well, there is no information in the manual to do this. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Also in other codes i found is nothing explicitly done with the stack.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 21:34:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595265#M31312</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T21:34:18Z</dc:date>
    </item>
    <item>
      <title>Re: Reading LPC UID (s/n): different results</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595266#M31313</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Thu Sep 27 02:41:01 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: Jaecko&lt;/STRONG&gt;&lt;BR /&gt;Well, there is no information in the manual to do this. &lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;:confused: Which user manual are you reading :confused:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;UM10360:&lt;/SPAN&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;32.3.2.8 RAM used by IAP command handler&lt;BR /&gt;Flash programming commands use the top 32 bytes of on-chip RAM. The maximum stack usage in the user allocated stack space is 128 bytes and it grows downwards.&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN&gt;If we are talking about LPCXpresso:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://www.support.code-red-tech.com/CodeRedWiki/ReserveIAPRam?highlight=%28IAP%29&lt;/A&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 21:34:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595266#M31313</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T21:34:19Z</dc:date>
    </item>
    <item>
      <title>Re: Reading LPC UID (s/n): different results</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595267#M31314</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Jaecko on Thu Sep 27 03:16:29 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Ah ok, found the chapter (was UM10360).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;We have a our own linker script, so the offset had to be placed in the script (_vStackTop = ___top_RamLoc32 - 32; )&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But unfortunately this didn't change the behaviour. Same "wrong" s/ns.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 21:34:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595267#M31314</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T21:34:19Z</dc:date>
    </item>
    <item>
      <title>Re: Reading LPC UID (s/n): different results</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595268#M31315</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Thu Sep 27 04:09:45 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm not familiar with your IAP functions, project settings and don't understand why your array isn't volatile,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;but #7 of &lt;/SPAN&gt;&lt;A href="http://"&gt;http://knowledgebase.nxp.com/showthread.php?t=774&lt;/A&gt;&lt;SPAN&gt; shows a working sample :)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If this code is working without problems with LPCXpresso (and stack offset) your code is faulty :eek:&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 21:34:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595268#M31315</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T21:34:20Z</dc:date>
    </item>
    <item>
      <title>Re: Reading LPC UID (s/n): different results</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595269#M31316</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by OXO on Thu Sep 27 05:09:01 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;This code works all the time. It's based on an app note, but I can't remember which :rolleyes:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;// read unique chip id from LPC
// by IAP call
#define IAP_ADDRESS 0x1FFF1FF1
unsigned param_table[5];
unsigned result_table[5];

static void iap_entry(unsigned param_tab[],unsigned result_tab[])
{
&amp;nbsp;&amp;nbsp; void (*iap)(unsigned [],unsigned []);

&amp;nbsp;&amp;nbsp; iap = (void (*)(unsigned [],unsigned []))IAP_ADDRESS;
&amp;nbsp;&amp;nbsp; iap(param_tab,result_tab);
}

void read_serial_number(uint32_t *ptr)&amp;nbsp;&amp;nbsp;&amp;nbsp; //read serial via IAP
{
&amp;nbsp;&amp;nbsp; param_table[0] = 58; //IAP command
&amp;nbsp;&amp;nbsp; iap_entry(param_table,result_table);

&amp;nbsp;&amp;nbsp; if(result_table[0] == 0) //return: CODE SUCCESS
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Serial Number: %08X %08X %08X %08X\n\r",result_table[1],result_table[2],result_table[3],result_table[4]);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr[0] = result_table[1];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr[1] = result_table[2];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr[2] = result_table[3];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ptr[3] = result_table[4];
&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Serial Number Read Error\n\r");
&amp;nbsp;&amp;nbsp; }
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 21:34:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595269#M31316</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T21:34:20Z</dc:date>
    </item>
    <item>
      <title>Re: Reading LPC UID (s/n): different results</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595270#M31317</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Jaecko on Thu Sep 27 07:40:46 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks to both of you. But both code samples show the same behaviour.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But: I finally found a way how it works with 100% reliability:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I simply don't read the s/n when the request comes. I do it as first thing in the program (before initialising Timers/UART/...) and store it in an array which is read when requesting the s/n.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Every time the device restarts, the s/n keeps the same; here even without the stack increase.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Could it be that the IAP-functions don't like it, when they are bugged by interrupts?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The only explanation i have for this...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 21:34:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595270#M31317</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T21:34:21Z</dc:date>
    </item>
    <item>
      <title>Re: Reading LPC UID (s/n): different results</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595271#M31318</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by MikeSimmonds on Thu Sep 27 09:09:39 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;[FONT=Tahoma][SIZE=2]&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: Jaecko&lt;/STRONG&gt;&lt;BR /&gt;Could it be that the IAP-functions don't like it, when they are bugged by interrupts?&lt;BR /&gt;The only explanation i have for this...&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[/SIZE][/FONT][SIZE=2][FONT=Tahoma]That's exactly the reason.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The IAP read cpuid, read serial, read boot rom version do not use any&amp;nbsp; ram in the 'top 32 bytes' and only 3 levels of stack (12 bytes).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;However it works by temporarily mapping a rom area over the first 600 (hex) [or maybe 800] bytes of the flash area.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;So if your code is located in low flash -- bang. Also if you have any&amp;nbsp; interrupts whilst the IAP call is in progress the 'fetched' vector is&amp;nbsp; rubbish instead of your handler routine, and again -- bang.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The need to disable or otherwise prevent interrupts during IAP is&amp;nbsp; documented in the UM10360 (for LPC1769), but I admit that like a lot of&amp;nbsp; important issues they don't emphasise it enough.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Fetching the s/n at startup before you enable any interrupts is probably a good idea, but this tells you why you ought to do it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards, Mike&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [/FONT][/SIZE]&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 21:34:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595271#M31318</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T21:34:22Z</dc:date>
    </item>
    <item>
      <title>Re: Reading LPC UID (s/n): different results</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595272#M31319</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Thu Sep 27 10:01:39 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: Jaecko&lt;/STRONG&gt;&lt;BR /&gt;Could it be that the IAP-functions don't like it, when they are bugged by interrupts?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You should protect yout IAP if interrupts are enabled &lt;SPAN class="lia-unicode-emoji" title=":winking_face:"&gt;&lt;LI-EMOJI id="lia_winking-face" title=":winking_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;
...
__disable_irq();
iap_entry(param_table,result_table);
__enable_irq();
...
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 21:34:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/Reading-LPC-UID-s-n-different-results/m-p/595272#M31319</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T21:34:22Z</dc:date>
    </item>
  </channel>
</rss>

