<?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 LPC 1343 interrupt handler in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1343-interrupt-handler/m-p/530446#M1981</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Lithium on Wed Oct 13 08:40:15 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;After some search work i can not find where i am looking for.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have set an interrupt at pin 0_8:&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;
&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOSetDir(0, 8, 0);
&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOSetInterrupt(0,8,0,1,0);
&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOIntEnable(0,8);

if(!GPIOIntStatus(0,8))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //do something
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //do something
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;Everything works fine till the interrupts comes up.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The program is in an infinite loop because there was a unexpected interrupt.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I think i need to make a interrupt handler in my file. I already made a search but could not find how to make one for the pin 0_8.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope you can help me with it.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 23:07:58 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T23:07:58Z</dc:date>
    <item>
      <title>LPC 1343 interrupt handler</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1343-interrupt-handler/m-p/530446#M1981</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Lithium on Wed Oct 13 08:40:15 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;After some search work i can not find where i am looking for.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have set an interrupt at pin 0_8:&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;
&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOSetDir(0, 8, 0);
&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOSetInterrupt(0,8,0,1,0);
&amp;nbsp;&amp;nbsp;&amp;nbsp; GPIOIntEnable(0,8);

if(!GPIOIntStatus(0,8))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //do something
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //do something
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;Everything works fine till the interrupts comes up.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The program is in an infinite loop because there was a unexpected interrupt.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I think i need to make a interrupt handler in my file. I already made a search but could not find how to make one for the pin 0_8.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope you can help me with it.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:07:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1343-interrupt-handler/m-p/530446#M1981</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:07:58Z</dc:date>
    </item>
    <item>
      <title>Re: LPC 1343 interrupt handler</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1343-interrupt-handler/m-p/530447#M1982</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 Wed Oct 13 09:43:14 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Of course you are right. In cr_startup_lpc13.c you can find the forward declaration of interrupts and their 'ALIAS', which is used if you don't define your own.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;With:&lt;/SPAN&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;[SIZE=2][COLOR=#7f0055][B][SIZE=2][COLOR=#7f0055]void[/COLOR][/SIZE][/B][/COLOR][/SIZE][SIZE=2] [B]PIOINT0_IRQHandler[/B] ([/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]void[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2]) ALIAS(IntDefaultHandler);[/SIZE]&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;and&lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;[B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]static [/COLOR][/SIZE][/COLOR][/SIZE][/B][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]void[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2] [B]IntDefaultHandler[/B]([/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]void[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2])[/SIZE]
[SIZE=2]{[/SIZE]
[SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]//[/COLOR][/SIZE][/COLOR][/SIZE]
[SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// Go into an infinite loop.[/COLOR][/SIZE][/COLOR][/SIZE]
[SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]//[/COLOR][/SIZE][/COLOR][/SIZE]
[LEFT][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]while[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2](1)[/SIZE]
[SIZE=2]{[/SIZE]
[SIZE=2]}[/SIZE][/LEFT]
[SIZE=2]}[/SIZE]&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[LEFT]you can find your loop:). [/LEFT]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[LEFT]In LPCXpresso1343_exint project you can also find a good example for your own interrupt in gpio_int.c:[/LEFT]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;[B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]void[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2] [B]PIOINT0_IRQHandler[/B]([/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]void[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2])[/SIZE]
[LEFT][SIZE=2]{[/SIZE]
[SIZE=2][COLOR=#005032][SIZE=2][COLOR=#005032]uint32_t[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] regVal;[/SIZE]

[SIZE=2]gpio0_counter++;[/SIZE]
[LEFT][SIZE=2]regVal = GPIOIntStatus( PORT0, 1 );[/SIZE]
[B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]if[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2] ( regVal )[/SIZE]
[SIZE=2]{[/SIZE]
[SIZE=2]p0_1_counter++;[/SIZE]
[SIZE=2]GPIOIntClear( PORT0, 1 );[/SIZE]
[SIZE=2]}[/SIZE]
[B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]return[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2];[/SIZE]
[SIZE=2]}[/SIZE]&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt;[/LEFT]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[/LEFT]&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:07:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1343-interrupt-handler/m-p/530447#M1982</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:07:58Z</dc:date>
    </item>
    <item>
      <title>Re: LPC 1343 interrupt handler</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1343-interrupt-handler/m-p/530448#M1983</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Lithium on Wed Oct 13 09:57:23 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for your fast answer.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I already find those things, i thought there was a special alias for the port and bit number.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I do not want to mis use the default interrupt handler, it could me that we want to use more interrupts.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;How can i define one for my own? Like for port 0_8?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Just make a alias? [SIZE=2][COLOR=#7f0055][B][SIZE=2][COLOR=#7f0055]void[/COLOR][/SIZE][/B][/COLOR][/SIZE][SIZE=2] [B]PIOINT0_8IRQHandler[/B] ([/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]void[/COLOR][/SIZE][/COLOR][/SIZE][/B][SIZE=2]) ALIAS(IntDefaultHandler)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[/SIZE]How does the program knows that it needs to go to the right handler?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:07:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1343-interrupt-handler/m-p/530448#M1983</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:07:59Z</dc:date>
    </item>
    <item>
      <title>Re: LPC 1343 interrupt handler</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1343-interrupt-handler/m-p/530449#M1984</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 Wed Oct 13 10:06:11 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I think it's no misuse to read several interrupts and set flags in ISR to handle them in main loop.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I've done this often enough and think this is a common way to work with interrupts.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:08:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1343-interrupt-handler/m-p/530449#M1984</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:08:00Z</dc:date>
    </item>
    <item>
      <title>Re: LPC 1343 interrupt handler</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1343-interrupt-handler/m-p/530450#M1985</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Lithium on Wed Oct 13 10:09:13 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;That could me an idea indeed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Another question about interrupts. I know an interrupt that as it will go automatically to an subroutine when an interrupt flag is active.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;After that it will return to the main program.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you need to use the GPIOIntStatus to see if there is any interrupt flag active? Or does the program automatically goes to the subroutine?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:08:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1343-interrupt-handler/m-p/530450#M1985</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:08:00Z</dc:date>
    </item>
    <item>
      <title>Re: LPC 1343 interrupt handler</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1343-interrupt-handler/m-p/530451#M1986</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 Wed Oct 13 10:13:20 MST 2010&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;No.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;[SIZE=2][B][COLOR=#7f0055]void[/COLOR][/B] [B]PIOINT0_IRQHandler[/B]([B][COLOR=#7f0055][COLOR=#7f0055]void[/COLOR][/COLOR][/B])[/SIZE]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;is the interrupt handler for all interrrupts of PIO0. Like in the example you have to read the interrupt status (GPIOIntStatus) of your pin and clear the interrupt (GPIOIntClear).&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 23:08:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC-1343-interrupt-handler/m-p/530451#M1986</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T23:08:01Z</dc:date>
    </item>
  </channel>
</rss>

