<?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 PININT on port 2 LPC11U68 in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/PININT-on-port-2-LPC11U68/m-p/549982#M13918</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;programming custom board with LPC11U68JBD100.&lt;/P&gt;&lt;P&gt;I initialize PININT on port 0 pins 2 and 20, port 2 pins 2 and 5 using these functions:&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Chip_GPIO_Init(LPC_GPIO);&lt;/P&gt;&lt;P&gt;Chip_GPIO_SetPinDIRInput(LPC_GPIO, ...&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Chip_Clock_SetIOCONFiltClockDiv(0, 64);&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Chip_IOCON_PinMuxSet(LPC_IOCON, ... (IOCON_FUNC0 | IOCON_MODE_PULLUP | IOCON_CLKDIV(0) | IOCON_HYS_EN | IOCON_S_MODE(3))&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_PINT);&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Chip_SYSCTL_SetPinInterrupt(n, ...&lt;/P&gt;&lt;P&gt;Chip_PININT_ClearIntStatus(LPC_PININT, PININTCH(n));&lt;/P&gt;&lt;P&gt;(n is 0 to 3)&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;NVIC_ClearPendingIRQ(name);&lt;/P&gt;&lt;P&gt;NVIC_EnableIRQ(name);&lt;/P&gt;&lt;P&gt;(names are PIN_INT0_IRQn to PIN_INT3_IRQn)&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Created four handlers ( PIN_INT0_IRQHandler() ... PIN_INT3_IRQHandler() )&lt;/P&gt;&lt;P&gt;Handlers execute:&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Chip_PININT_ClearIntStatus(LPC_PININT, PININTCH(int number));&lt;/P&gt;&lt;P&gt;and blink with LEDs.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;int 0 and 1 (port 0.2 and 0.20) working properly, LEDs blinks after pin pulled low&lt;/P&gt;&lt;P&gt;int 2 and 3 (port 2.2 and 2.5) not working&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What's wrong?&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 20 Jun 2016 10:06:56 GMT</pubDate>
    <dc:creator>pavelhudecek</dc:creator>
    <dc:date>2016-06-20T10:06:56Z</dc:date>
    <item>
      <title>PININT on port 2 LPC11U68</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/PININT-on-port-2-LPC11U68/m-p/549982#M13918</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;programming custom board with LPC11U68JBD100.&lt;/P&gt;&lt;P&gt;I initialize PININT on port 0 pins 2 and 20, port 2 pins 2 and 5 using these functions:&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Chip_GPIO_Init(LPC_GPIO);&lt;/P&gt;&lt;P&gt;Chip_GPIO_SetPinDIRInput(LPC_GPIO, ...&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Chip_Clock_SetIOCONFiltClockDiv(0, 64);&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Chip_IOCON_PinMuxSet(LPC_IOCON, ... (IOCON_FUNC0 | IOCON_MODE_PULLUP | IOCON_CLKDIV(0) | IOCON_HYS_EN | IOCON_S_MODE(3))&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_PINT);&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Chip_SYSCTL_SetPinInterrupt(n, ...&lt;/P&gt;&lt;P&gt;Chip_PININT_ClearIntStatus(LPC_PININT, PININTCH(n));&lt;/P&gt;&lt;P&gt;(n is 0 to 3)&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;NVIC_ClearPendingIRQ(name);&lt;/P&gt;&lt;P&gt;NVIC_EnableIRQ(name);&lt;/P&gt;&lt;P&gt;(names are PIN_INT0_IRQn to PIN_INT3_IRQn)&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Created four handlers ( PIN_INT0_IRQHandler() ... PIN_INT3_IRQHandler() )&lt;/P&gt;&lt;P&gt;Handlers execute:&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Chip_PININT_ClearIntStatus(LPC_PININT, PININTCH(int number));&lt;/P&gt;&lt;P&gt;and blink with LEDs.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;int 0 and 1 (port 0.2 and 0.20) working properly, LEDs blinks after pin pulled low&lt;/P&gt;&lt;P&gt;int 2 and 3 (port 2.2 and 2.5) not working&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What's wrong?&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Jun 2016 10:06:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/PININT-on-port-2-LPC11U68/m-p/549982#M13918</guid>
      <dc:creator>pavelhudecek</dc:creator>
      <dc:date>2016-06-20T10:06:56Z</dc:date>
    </item>
    <item>
      <title>Re: PININT on port 2 LPC11U68</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/PININT-on-port-2-LPC11U68/m-p/549983#M13919</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Solved:&lt;/P&gt;&lt;P&gt;My code is OK.&lt;/P&gt;&lt;P&gt;Wrong is function Chip_SYSCTL_SetPinInterrupt&lt;/P&gt;&lt;P&gt;from examples archive lpcopen_2_06_lpcxpresso_nxp_lpcxpresso_11u68.zip&lt;/P&gt;&lt;P&gt;distributed with LPCXpresso v8.1.4_606&lt;/P&gt;&lt;P&gt;lpc_chip_11u6x\src\syscon_11u6x.c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Wrong, original version, working only with port 0:&lt;/P&gt;&lt;P&gt;void Chip_SYSCTL_SetPinInterrupt(uint32_t intno, uint8_t port, uint8_t pin){&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;if (port == 0) {&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Pins P0.1 to P0.23 only */&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SYSCTL-&amp;gt;PINTSEL[intno] = (uint32_t) pin;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;} else {&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* P1.1 to P1.31 and P2.0 to P2.7 */&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SYSCTL-&amp;gt;PINTSEL[intno] = (uint32_t) ((port - 1) * 32 + pin);&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;Repaired:&lt;/P&gt;&lt;P&gt;void Chip_SYSCTL_SetPinInterrupt(uint32_t intno, uint8_t port, uint8_t pin){&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;if (port == 0) {&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&amp;nbsp; // Pins P0.0 to P0.23 only&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&amp;nbsp; LPC_SYSCTL-&amp;gt;PINTSEL[intno] = (uint32_t) pin;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;} else if (port == 1) {&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&amp;nbsp; // P1.0 to P1.31&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&amp;nbsp; LPC_SYSCTL-&amp;gt;PINTSEL[intno] = (uint32_t) (24 + pin);&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;} else {&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&amp;nbsp; // P2.0 to P2.7&lt;/P&gt;&lt;P style="padding-left: 60px;"&gt;&amp;nbsp; LPC_SYSCTL-&amp;gt;PINTSEL[intno] = (uint32_t) (24+32 + pin);&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Jun 2016 22:31:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/PININT-on-port-2-LPC11U68/m-p/549983#M13919</guid>
      <dc:creator>pavelhudecek</dc:creator>
      <dc:date>2016-06-20T22:31:03Z</dc:date>
    </item>
  </channel>
</rss>

