<?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中的主题 Re: reading input pin</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521710#M4346</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Sun Nov 01 04:09:13 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: cseb&lt;/STRONG&gt;&lt;BR /&gt;My whole code is below.&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;
uint32_t GPIOGetValue (uint32_t portNum, uint32_t bitPosi)
{ 
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t val;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO[portNum]-&amp;gt;FIOMASK = ~(1&amp;lt;&amp;lt;bitPosi);
//val = (LPC_GPIO[portNum]-&amp;gt;FIOPIN &amp;amp; (1 &amp;lt;&amp;lt; bitPosi));
&amp;nbsp;&amp;nbsp;&amp;nbsp; val = LPC_GPIO[portNum]-&amp;gt;FIOPIN;
&amp;nbsp;&amp;nbsp;&amp;nbsp; val = val &amp;gt;&amp;gt; bitPosi;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO[portNum]-&amp;gt;FIOMASK = 0x00000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return val;
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you kidding&amp;nbsp; :quest: &lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 17:51:45 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T17:51:45Z</dc:date>
    <item>
      <title>reading input pin</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521705#M4341</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by cseb on Sun Nov 01 01:45:28 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I have trouble with reading a pin as input. I use the code below. I can only read the pin one time and even if its physical state changes , i can not read the change. In user manual its stated &lt;/SPAN&gt;&lt;STRONG&gt;("if an FIOPIN register is read, its bit(s) masked with 1 in the FIOMASK register will be read as 0 regardless of the physical pin state".)page122,&lt;/STRONG&gt;&lt;SPAN&gt; but i can not solve this problem.&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;

static LPC_GPIO_TypeDef (* const LPC_GPIO[5]) = { LPC_GPIO0, LPC_GPIO1, LPC_GPIO2, LPC_GPIO3, LPC_GPIO4&amp;nbsp; };

uint32_t GPIOGetValue (uint32_t portNum, uint32_t bitPosi)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t val;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO[portNum]-&amp;gt;FIOMASK = ~ (1 &amp;lt;&amp;lt; bitPosi);
&amp;nbsp;&amp;nbsp;&amp;nbsp; val = LPC_GPIO[portNum]-&amp;gt;FIOPIN;
&amp;nbsp;&amp;nbsp;&amp;nbsp; val = val &amp;gt;&amp;gt; bitPosi;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO[portNum]-&amp;gt;FIOMASK = 0x00000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return val;
}&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 17:51:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521705#M4341</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:51:42Z</dc:date>
    </item>
    <item>
      <title>Re: reading input pin</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521706#M4342</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Sun Nov 01 01:46:40 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Could be a good idea to read 1 bit&amp;nbsp; &lt;SPAN class="lia-unicode-emoji" title=":face_with_open_mouth:"&gt;&lt;LI-EMOJI id="lia_face-with-open-mouth" title=":face_with_open_mouth:"&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;
&amp;nbsp;&amp;nbsp;&amp;nbsp; val = LPC_GPIO[portNum]-&amp;gt;FIOPIN &amp;amp;[color=#f00] (1 &amp;lt;&amp;lt; bitPosi)[/color];
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:51:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521706#M4342</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:51:42Z</dc:date>
    </item>
    <item>
      <title>Re: reading input pin</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521707#M4343</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by cseb on Sun Nov 01 03:34:29 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I have tried this : val = LPC_GPIO[portNum]-&amp;gt;FIOPIN &amp;amp; (1 &amp;lt;&amp;lt; bitPosi); but it didn't work. I can read pin only once, and after the phyisical change (from logic0 to logic1) it behaves as if it is still on logic0 state.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:51:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521707#M4343</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:51:43Z</dc:date>
    </item>
    <item>
      <title>Re: reading input pin</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521708#M4344</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Sun Nov 01 03:50:59 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: cseb&lt;/STRONG&gt;&lt;BR /&gt;I have tried this : val = LPC_GPIO[portNum]-&amp;gt;FIOPIN &amp;amp; (1 &amp;lt;&amp;lt; bitPosi); but it didn't work&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Clearing MASK bit and reading PIN bit is the usual way to read a PIN (see LPCOpen). If that's not working in your case you have either a hardware problem or a setup problem (which is not shown in your code snippet)... &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;LPCOpen:&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;/**
 * @briefGet a GPIO pin state via the GPIO byte register
 * @parampGPIO: The base of GPIO peripheral on the chip
 * @paramport: GPIO Port number where pin is located
 * @parampin: GPIO pin to get state for
 * @returntrue if the GPIO is high, false if low
 * @noteThis function replaces Chip_GPIO_ReadPortBit()
 */
STATIC INLINE bool Chip_GPIO_GetPinState(LPC_GPIO_T *pGPIO, uint8_t port, uint8_t pin)
{
return (bool) ((pGPIO[port].PIN &amp;gt;&amp;gt; pin) &amp;amp; 1);
}&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 17:51:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521708#M4344</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:51:44Z</dc:date>
    </item>
    <item>
      <title>Re: reading input pin</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521709#M4345</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by cseb on Sun Nov 01 03:59:33 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;My whole code is below, by the way i have check the hw connections and there is no wrong with the hardware.&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;#include "LPC17xx.H"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* LPC17xx definitions&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */

 unsigned long time_counter = 0;&amp;nbsp; 
 unsigned long desired_counter = 1000; 
 uint32_t var; 
 void buton_read( void);
 static LPC_GPIO_TypeDef (* const LPC_GPIO[5]) = { LPC_GPIO0, LPC_GPIO1, LPC_GPIO2, LPC_GPIO3, LPC_GPIO4&amp;nbsp; };
 uint32_t GPIOGetValue (uint32_t portNum, uint32_t bitPosi);
 

int main (void) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Main Program&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; SystemInit();
&amp;nbsp;&amp;nbsp;&amp;nbsp; SysTick_Config(SystemFrequency/1000 - 1); // Generate interrupt each 1 ms&amp;nbsp; 

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SC-&amp;gt;PCONP |= 1 &amp;lt;&amp;lt; 1; //Power up Timer 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_SC-&amp;gt;PCLKSEL0 |= 1 &amp;lt;&amp;lt; 2; // Clock for timer = CCLK
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TIM0-&amp;gt;MR0 = 72000; // Give a value suitable for the LED blinking frequency based on the clock frequency
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TIM0-&amp;gt;MCR |= 1 &amp;lt;&amp;lt; 0; // Interrupt on Match0 compare
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TIM0-&amp;gt;MCR |= 1 &amp;lt;&amp;lt; 1; // Reset timer on Match 0.
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TIM0-&amp;gt;TCR |= 1 &amp;lt;&amp;lt; 1; // Manually Reset Timer0 ( forced )
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TIM0-&amp;gt;TCR &amp;amp;= ~(1 &amp;lt;&amp;lt; 1); // stop resetting the timer.
&amp;nbsp;&amp;nbsp;&amp;nbsp; NVIC_EnableIRQ(TIMER0_IRQn); // Enable timer interrupt
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_TIM0-&amp;gt;TCR |= 1 &amp;lt;&amp;lt; 0; // Start timer
&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO1-&amp;gt;FIODIR |= 1 &amp;lt;&amp;lt; 25; // puts P1.25 into output mode. LED is connected to P1.25

&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO1-&amp;gt;FIODIR &amp;amp;= ~(1 &amp;lt;&amp;lt; 21); // Set buttons as input

&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
var = GPIOGetValue(1,21);
switch(var)
{
case 0:
desired_counter = 500;
break;
case 1:
desired_counter = 1000;
break;
}
}

}

void TIMER0_IRQHandler(void) 
{ 
 if((LPC_TIM0-&amp;gt;IR &amp;amp; 0x01) == 0x01) // if MR0 interrupt
 {
 LPC_TIM0-&amp;gt;IR |= 1 &amp;lt;&amp;lt; 0; // Clear MR0 interrupt flag
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
 if(++time_counter == desired_counter)
 {
 time_counter = 0;
 LPC_GPIO1-&amp;gt;FIOPIN ^=&amp;nbsp; (1&amp;lt;&amp;lt; 25); 
 }
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
}


uint32_t GPIOGetValue (uint32_t portNum, uint32_t bitPosi)
{ 
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t val;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO[portNum]-&amp;gt;FIOMASK = ~(1&amp;lt;&amp;lt;bitPosi);
//val = (LPC_GPIO[portNum]-&amp;gt;FIOPIN &amp;amp; (1 &amp;lt;&amp;lt; bitPosi));
&amp;nbsp;&amp;nbsp;&amp;nbsp; val = LPC_GPIO[portNum]-&amp;gt;FIOPIN;
&amp;nbsp;&amp;nbsp;&amp;nbsp; val = val &amp;gt;&amp;gt; bitPosi;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO[portNum]-&amp;gt;FIOMASK = 0x00000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return val;
}&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 17:51:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521709#M4345</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:51:44Z</dc:date>
    </item>
    <item>
      <title>Re: reading input pin</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521710#M4346</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Sun Nov 01 04:09:13 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: cseb&lt;/STRONG&gt;&lt;BR /&gt;My whole code is below.&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;
uint32_t GPIOGetValue (uint32_t portNum, uint32_t bitPosi)
{ 
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t val;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO[portNum]-&amp;gt;FIOMASK = ~(1&amp;lt;&amp;lt;bitPosi);
//val = (LPC_GPIO[portNum]-&amp;gt;FIOPIN &amp;amp; (1 &amp;lt;&amp;lt; bitPosi));
&amp;nbsp;&amp;nbsp;&amp;nbsp; val = LPC_GPIO[portNum]-&amp;gt;FIOPIN;
&amp;nbsp;&amp;nbsp;&amp;nbsp; val = val &amp;gt;&amp;gt; bitPosi;
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPC_GPIO[portNum]-&amp;gt;FIOMASK = 0x00000000;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return val;
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Are you kidding&amp;nbsp; :quest: &lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:51:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521710#M4346</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:51:45Z</dc:date>
    </item>
    <item>
      <title>Re: reading input pin</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521711#M4347</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by cseb on Sun Nov 01 04:11:43 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;where are you looking at? check my post again, i think you didn't see whole post :)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:51:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521711#M4347</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:51:46Z</dc:date>
    </item>
    <item>
      <title>Re: reading input pin</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521712#M4348</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Sun Nov 01 14:59:48 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: cseb&lt;/STRONG&gt;&lt;BR /&gt;where are you looking at?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Your funny code...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: cseb&lt;/STRONG&gt;&lt;BR /&gt;.. i think you didn't see whole post&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't think so...&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:51:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521712#M4348</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:51:46Z</dc:date>
    </item>
    <item>
      <title>Re: reading input pin</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521713#M4349</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mysepp on Mon Nov 02 00:48:09 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi R2D2,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;can you post what is missing in your opinion? Do you want startup code? Vector table?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Project/Make files?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Otherwise this discussion goes on without real progress...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Martin&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:51:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521713#M4349</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:51:47Z</dc:date>
    </item>
    <item>
      <title>Re: reading input pin</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521714#M4350</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by R2D2 on Mon Nov 02 04:43:33 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: mysepp&lt;/STRONG&gt;&lt;BR /&gt;Hi R2D2,&lt;BR /&gt;can you post what is missing in your opinion?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What's not clear there&amp;nbsp; :quest: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: R2D2&lt;/STRONG&gt;&lt;BR /&gt;Could be a good idea to read 1 bit&amp;nbsp; &lt;SPAN class="lia-unicode-emoji" title=":face_with_open_mouth:"&gt;&lt;LI-EMOJI id="lia_face-with-open-mouth" title=":face_with_open_mouth:"&gt;&lt;/LI-EMOJI&gt;&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;
&amp;nbsp;&amp;nbsp;&amp;nbsp; val = LPC_GPIO[portNum]-&amp;gt;FIOPIN &amp;amp;[color=#f00] (1 &amp;lt;&amp;lt; bitPosi)[/color];
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And there&amp;nbsp; :quest: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: R2D2&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;Clearing MASK bit and reading PIN bit is the usual way to read a PIN (see LPCOpen). If that's not working in your case you have either a hardware problem or a setup problem (which is not shown in your code snippet)... &lt;BR /&gt;&lt;BR /&gt;LPCOpen:&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;/**
 * @briefGet a GPIO pin state via the GPIO byte register
 * @parampGPIO: The base of GPIO peripheral on the chip
 * @paramport: GPIO Port number where pin is located
 * @parampin: GPIO pin to get state for
 * @returntrue if the GPIO is high, false if low
 * @noteThis function replaces Chip_GPIO_ReadPortBit()
 */
STATIC INLINE bool Chip_GPIO_GetPinState(LPC_GPIO_T *pGPIO, uint8_t port, uint8_t pin)
{
return (bool) ((pGPIO[port].PIN &amp;gt;&amp;gt; pin) &amp;amp; 1);
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: mysepp&lt;/STRONG&gt;&lt;BR /&gt;...without real progress...&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;There's no progress because you don't change your funny code:&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;LPC_GPIO[portNum]-&amp;gt;FIOMASK = ...&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What's that? Obviously nonsense...&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;LPC_GPIO[portNum]-&amp;gt;FIOMASK = 0x00000000;&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Reset the MASK bit of your input pin in your setup...&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;val = LPC_GPIO[portNum]-&amp;gt;FIOPIN;
val = val &amp;gt;&amp;gt; bitPosi;
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Again nonsense&amp;nbsp; &lt;SPAN class="lia-unicode-emoji" title=":disappointed_face:"&gt;&lt;LI-EMOJI id="lia_disappointed-face" title=":disappointed_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt;&amp;nbsp; You are reading bit 21-31 here&amp;nbsp; :~ &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;switch(var)
{
 case 0:
desired_counter = 500;
break;
 case 1:
desired_counter = 1000;
break;
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And last not least: no default case here. If bit 21-31 &amp;gt;1 nothing is happening&amp;nbsp; &lt;SPAN class="lia-unicode-emoji" title=":face_with_open_mouth:"&gt;&lt;LI-EMOJI id="lia_face-with-open-mouth" title=":face_with_open_mouth:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:51:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521714#M4350</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:51:47Z</dc:date>
    </item>
    <item>
      <title>Re: reading input pin</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521715#M4351</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by cseb on Mon Nov 02 08:23:14 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;There is no mistakes in my "funny code". In KEIL code does not work, but in Coocox COIDE it is working. At startup;&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;SysTick_Config(SystemFrequency/1000 - 1); &lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;SPAN&gt; here collapses the input reading ( i think ), but i can not understand "why". Anyway, i will try to solve this.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:51:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521715#M4351</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:51:48Z</dc:date>
    </item>
    <item>
      <title>Re: reading input pin</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521716#M4352</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by mysepp on Mon Nov 02 08:47:12 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi R2D2,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;gt; There's no progress because you don't change your funny code&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;pay attention: this was a comment by independent reader of the thread, not by initial author of this thread.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;It looked like you were missing something, but had not written, what was missing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;But with your detailed explanation following my question, I think it is now clear for the author.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Many thanks for the clarification!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Martin&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 17:51:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/reading-input-pin/m-p/521716#M4352</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T17:51:49Z</dc:date>
    </item>
  </channel>
</rss>

