<?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: LPC1114 and Rotary necoder in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532240#M10370</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 Tue Jun 16 14:40:20 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Your GPIO setup should clear the interrupt before enabling it...&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_GPIO2-&amp;gt;IE |= (1&amp;lt;&amp;lt;5);//falling edge
[color=#f00] LPC_GPIO2-&amp;gt;IC |= (1&amp;lt;&amp;lt;5);//clear int [/color]
 NVIC_EnableIRQ(EINT2_IRQn);
&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; As mentioned already, don't use delays in your ISR. If you want to add a nop, add a nop&amp;nbsp; &lt;SPAN class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;&lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; Add volatile&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;asm [color=#f00]volatile [/color]("nop");&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt; or just the macro:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt; __NOP();&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt; Otherwise nop is optimized out in -Og&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;SPAN&gt;As already suggested it could be useful to test your code without other functions&amp;nbsp; &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;SPAN&gt;Just generate an input signal (Logic analyzer), switch an output and scope it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That should help you to understand if the problem is your encoder or parts of your software (SPI)... &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:33:11 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:33:11Z</dc:date>
    <item>
      <title>LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532228#M10358</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by vladimirro on Fri Jun 12 16:09:01 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello all&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a problem which is literally driving me crazy and I can't solve it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to control a variable "number" with my rotary encoder&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Here's the code for initialisation&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;void controlsinit()
{
//PIO2_5 &amp;lt;-- A
//PIO0_6 &amp;lt;-- B
LPC_GPIO2-&amp;gt;DIR &amp;amp;= ~(1&amp;lt;&amp;lt;5);//PIO2_5 as input
LPC_GPIO0-&amp;gt;DIR &amp;amp;= ~(1&amp;lt;&amp;lt;6);//PIO0_6 as input

LPC_GPIO2-&amp;gt;IS &amp;amp;= ~(1&amp;lt;&amp;lt;5);//edge sensitive
LPC_GPIO2-&amp;gt;IBE &amp;amp;= ~(1&amp;lt;&amp;lt;5);//no both edges
LPC_GPIO2-&amp;gt;IEV &amp;amp;= ~(1&amp;lt;&amp;lt;5);//falling edge
LPC_GPIO2-&amp;gt;IE |= (1&amp;lt;&amp;lt;5);//falling edge

NVIC_EnableIRQ(EINT2_IRQn);
}&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 here's the interrupt code&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;void PIOINT2_IRQHandler(void)
{
if (LPC_GPIO0-&amp;gt;DATA &amp;amp; (1&amp;lt;&amp;lt;6)) number--;
else number++;
LPC_GPIO2-&amp;gt;IC = LPC_GPIO2-&amp;gt;RIS;//clear edge interrupt
delayck(5);
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So I basically want to increment/decrement the variable number by rotating the knob.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The result is very random. Sometimes it is incrementing/decrementing by one, sometimes by 2 or even 50... sometimes it doesn't change the variable at all. Completely random.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there anything wrong with my code?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532228#M10358</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:03Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532229#M10359</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by wmues on Sat Jun 13 13:26:50 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Is number declared volatile?&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532229#M10359</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:04Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532230#M10360</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by vladimirro on Sat Jun 13 15:51:22 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, it is volatile.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532230#M10360</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:05Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532231#M10361</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 Jun 14 01:59:53 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: vladimirro&lt;/STRONG&gt;&lt;BR /&gt;Is there anything wrong with my code?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;- Clear interrupts as soon as possible...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;- Don't use delays in interrupts...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;- Use optimization...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Anyway, your code snippet isn't showing very much, so I don't know what you expect&amp;nbsp; :~ &lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532231#M10361</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:06Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532232#M10362</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by starblue on Sun Jun 14 04:38:31 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;If your rotary encoder consists of mechanical switches then you need some debouncing.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Alternatively you could try triggering the interrupt on both edges and count in opposite directions, that way the bounces might cancel.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532232#M10362</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:06Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532233#M10363</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by vladimirro on Sun Jun 14 05:08:25 MST 2015&lt;/STRONG&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;- Clear interrupts as soon as possible...&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ok.&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;- Don't use delays in interrupts...&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I just followed the UM&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;Remark: &lt;BR /&gt;The synchronizer between the GPIO and the &lt;BR /&gt;NVIC blocks causes a delay of&lt;BR /&gt; 2 clocks. It is recommended &lt;BR /&gt;to add two NOPs after the clear of the interrupt edge &lt;BR /&gt;detection logic before the exit&lt;BR /&gt; of the interrupt service &lt;BR /&gt;routine&lt;/SPAN&gt;&lt;HR /&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;- Use optimization...&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Tried all the optimization modes. Always the same result.&lt;/SPAN&gt;&lt;BR /&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;Anyway, your code snippet isn't showing very much, so I don't know what you expect&amp;nbsp; :~&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ok, I removed all the irrelevant parts and here it is:&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;#ifdef __USE_CMSIS
#include "LPC11xx.h"
#include "pseudospi.h"
#include "controls.h"
#include "bfunc.h"
#endif

#include &amp;lt;cr_section_macros.h&amp;gt;
volatile unsigned int number =100;
const unsigned int numbers[]={0x00,0x00,0x20,0x40,0xfe,0x00,0x00,//1&amp;nbsp; 0
0x00,0x46,0x8a,0x8a,0x92,0x92,0x62,//2&amp;nbsp; 7
0x00,0x44,0x82,0x92,0x92,0x92,0x7c,//3&amp;nbsp; 14
0x00,0x18,0x28,0x48,0x88,0x3e,0x00,//4&amp;nbsp; 21
0x00,0xf4,0x92,0x92,0x92,0x92,0x8c,//5&amp;nbsp; 28
0x00,0x7c,0x92,0x92,0x92,0x92,0x4c,//6&amp;nbsp; 35
0x00,0x00,0x80,0x80,0x86,0x98,0xe0,//7&amp;nbsp; 42
0x00,0x6c,0x92,0x92,0x92,0x92,0x6c,//8&amp;nbsp; 49
0x00,0x64,0x92,0x92,0x92,0x92,0x7c,//9&amp;nbsp; 56
0x00,0x7c,0x82,0x82,0x82,0x82,0x7c};//0 63
int main(void)
{
initpseudospi();
controlsinit();
&amp;nbsp;&amp;nbsp;&amp;nbsp; while(1)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp; clearscr();
&amp;nbsp;&amp;nbsp;&amp;nbsp; writenumber(7,20,number,&amp;amp;numbers);
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
}
void PIOINT2_IRQHandler(void)
{
LPC_GPIO2-&amp;gt;IC = LPC_GPIO2-&amp;gt;RIS;//clear edge interrupt
delayck(2);
if (LPC_GPIO0-&amp;gt;DATA &amp;amp; (1&amp;lt;&amp;lt;6)) number++;
else number--;
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;writenumber is a function which displays the number on the LCD&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;void writecipher(unsigned int page, unsigned int x, unsigned int number,unsigned int* arraynumbers)
{
send_com(0b10110000|page);
send_com(0b00010000|(0b1111&amp;amp;(x&amp;gt;&amp;gt;4)));
send_com(0b00000000|(0b1111&amp;amp;x));
unsigned int numberhelp=typenumber(number);
for (unsigned int i=0;i&amp;lt;7;i++)
{
send_data(arraynumbers[numberhelp+i]);
}
}

void writenumber(unsigned int page, unsigned int x, unsigned int number,unsigned int* arraynumbers)
{
if (number&amp;lt;10)
{
writecipher(page,x,number,arraynumbers);
}
else if (number&amp;lt;100)
{
writecipher(page,x,(number/10),arraynumbers);
writecipher(page,x+7,(number%10),arraynumbers);
}
else if (number&amp;lt;1000)
{
writecipher(page,x,(number/100),arraynumbers);
writecipher(page,x+7,((number/10)%10),arraynumbers);
writecipher(page,x+14,(number%10),arraynumbers);
}
}&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: starblue&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;If your rotary encoder consists of mechanical switches then you need some debouncing.&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have small capacitors in across the switches. I also measured it on the scope and everything looks perfect, no debouncing at all. The falling edge is about 100ns wide. &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532233#M10363</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:07Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532234#M10364</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 Jun 14 05:37:16 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: vladimirro&lt;/STRONG&gt;&lt;BR /&gt;Is there anything wrong with my code?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;And of course, test your code [color=#f00]without[/color] other peripherals / interrupts like SPI, SSP, ADC, UART, CAN, Timer, I2C, USB and ADM&amp;nbsp; :O &lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532234#M10364</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:08Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532235#M10365</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by vladimirro on Sun Jun 14 05:55:30 MST 2015&lt;/STRONG&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;And of course, test your code [color=#f00]without[/color] other peripherals / interrupts like SPI, SSP, ADC, UART, CAN, Timer, I2C, USB and ADM&amp;nbsp; :O&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Ok, done, still the same results :&amp;lt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532235#M10365</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:08Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532236#M10366</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 Jun 14 06:24:36 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: vladimirro&lt;/STRONG&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;And of course, test your code [color=#f00]without[/color] other peripherals / interrupts like SPI, SSP, ADC, UART, CAN, Timer, I2C, USB and ADM&amp;nbsp; :O&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;Ok, done, still the same results :&amp;lt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm still seeing no downloadable code and no picture from your input signal here...&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532236#M10366</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:09Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532237#M10367</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by starblue on Mon Jun 15 01:57:32 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: vladimirro&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: starblue&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;If your rotary encoder consists of mechanical switches then you need some debouncing.&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;I have small capacitors in across the switches. I also measured it on the scope and everything looks perfect, no debouncing at all. The falling edge is about 100ns wide.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You need to look at it on the millisecond scale, say 10ms per division on the scope.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532237#M10367</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:09Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532238#M10368</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by vladimirro on Tue Jun 16 10:11:11 MST 2015&lt;/STRONG&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;I'm still seeing no downloadable code and no picture from your input signal here...&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am attaching the code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I will attach the input signal as soon as possible...&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: starblue&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;You need to look at it on the millisecond scale, say 10ms per division on the scope.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yes, the falling edge width was just an additional info. &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532238#M10368</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:10Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532239#M10369</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by IanB on Tue Jun 16 10:57:47 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Switch on the hysteresis on the inputs. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can get bounce if the signals stay where they are (which they will do with a capacitor across them) and the power supply moves up and down (which it will do if it is from a switching regulator)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532239#M10369</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:10Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532240#M10370</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 Tue Jun 16 14:40:20 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Your GPIO setup should clear the interrupt before enabling it...&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_GPIO2-&amp;gt;IE |= (1&amp;lt;&amp;lt;5);//falling edge
[color=#f00] LPC_GPIO2-&amp;gt;IC |= (1&amp;lt;&amp;lt;5);//clear int [/color]
 NVIC_EnableIRQ(EINT2_IRQn);
&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; As mentioned already, don't use delays in your ISR. If you want to add a nop, add a nop&amp;nbsp; &lt;SPAN class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;&lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_face:"&gt;&lt;/LI-EMOJI&gt;&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; Add volatile&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt;asm [color=#f00]volatile [/color]("nop");&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt; or just the macro:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca"&gt; &lt;PRE&gt; __NOP();&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;SPAN&gt; Otherwise nop is optimized out in -Og&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;SPAN&gt;As already suggested it could be useful to test your code without other functions&amp;nbsp; &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;SPAN&gt;Just generate an input signal (Logic analyzer), switch an output and scope it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That should help you to understand if the problem is your encoder or parts of your software (SPI)... &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532240#M10370</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:11Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532241#M10371</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by vladimirro on Fri Jun 19 12:25:23 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: IanB&lt;/STRONG&gt;&lt;BR /&gt;Switch on the hysteresis on the inputs. &lt;BR /&gt;&lt;BR /&gt;You can get bounce if the signals stay where they are (which they will do with a capacitor across them) and the power supply moves up and down (which it will do if it is from a switching regulator)&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When I switched on the hysteresis it indeed increment/decrement the variable. However there was a problem that when I rotated the knob too fast (and I mean two 'ticks'&amp;nbsp; per second which isn't actually really fast) the variable instead of incrementing subtracted by a big value... and the other way around it was the same.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: IanB&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;As already suggested it could be useful to test your code without other functions Wink&lt;BR /&gt;&lt;BR /&gt;Just generate an input signal (Logic analyzer), switch an output and scope it.&lt;BR /&gt;&lt;BR /&gt;That should help you to understand if the problem is your encoder or parts of your software (SPI)...&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for all the suggestions but I did test it without any functions. It's always the same!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm attaching what I scoped today. I finally managed to download the graphs from the scope...&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I did 4 tests. 1 "tick" rotate left 10ms/div, 1 "tick" rotate right 10ms/div, 1 tick rotate left 50us/div and 1 tick rotate left 100ns/div. All those tests caused the variable to add or subtract by a random number from 1 to 50... instead of incrementing decrementing it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't see any bounces, either my scope is a piece of.. or the encoder is fine. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;EDIT. the scope outputs are signals from rotary encoder switches.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532241#M10371</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:12Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532242#M10372</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 Fri Jun 19 12:36:37 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: vladimirro&lt;/STRONG&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;As already suggested it could be useful to test your code without other functions&amp;nbsp; ;-) &lt;BR /&gt;&lt;BR /&gt;Just generate an input signal (Logic analyzer), switch an output and scope it.&lt;BR /&gt;&lt;BR /&gt;That should help you to understand if the problem is your encoder or parts of your software (SPI)...&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;Thanks for all the suggestions but I did test it without any functions. It's always the same!&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; :quest: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So how do you check interrupt and counter?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would expect to see a picture with encoder, interrupt and counter up / down&amp;nbsp; :O &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Something like that:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;SPAN&gt;[img=1280x269]&lt;/SPAN&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fsystem%2Ffiles%2FEncoder_0.JPG%5B%2Fimg%5D" rel="nofollow" target="_blank"&gt;http://www.lpcware.com/system/files/Encoder_0.JPG[/img]&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532242#M10372</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:12Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532243#M10373</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by vladimirro on Fri Jun 19 13:10:59 MST 2015&lt;/STRONG&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;I would expect to see a picture with encoder, interrupt and counter up / down&amp;nbsp; :O &lt;BR /&gt;&lt;BR /&gt;Something like that:&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;As a newbie I have to ask this. How do you do that? How do you analyse the interrupt signal?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532243#M10373</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:13Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532244#M10374</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 Fri Jun 19 13:20:40 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: vladimirro&lt;/STRONG&gt;&lt;BR /&gt;As a newbie I have to ask this. How do you do that? How do you analyse the interrupt signal?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Just switch a few pins and scope them&amp;nbsp; &lt;SPAN class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;&lt;LI-EMOJI id="lia_slightly-smiling-face" title=":slightly_smiling_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;void PIOINT2_IRQHandler(void)
{
 LED_ON;
 LPC_GPIO2-&amp;gt;IC = LPC_GPIO2-&amp;gt;RIS;//clear edge interrupt
 __NOP();__NOP();
 if (LPC_GPIO0-&amp;gt;DATA &amp;amp; (1&amp;lt;&amp;lt;3))
 {
&amp;nbsp; OUT1_ON;
&amp;nbsp; number++;
 }
 else
 {
&amp;nbsp; OUT2_ON;
&amp;nbsp; number--;
 }
 LED_OFF;
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532244#M10374</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:13Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532245#M10375</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by vladimirro on Fri Jun 19 13:57:00 MST 2015&lt;/STRONG&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;Just switch a few pins and scope them&amp;nbsp; :) &lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Now we're getting something. Unfortunately I have only two channels on my scope&amp;nbsp; :(( &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm probing the LED_ON/LED_OFF signal and one of the rotary encoder switcheds. Yellow one is a LED_ON/OFF (inerrupt)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It seems like it caches the rising edge all the time many times because the rising edge is very slow. But why? It is set to capture the falling one.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532245#M10375</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:14Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532246#M10376</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 Fri Jun 19 14:14:59 MST 2015&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: vladimirro&lt;/STRONG&gt;&lt;BR /&gt;It seems like it caches the rising edge all the time many times because the rising edge is very slow. But why?&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Toggle the pin to see how often the interrupt is triggered&amp;nbsp; ;-) &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Your rising edge is too slow&amp;nbsp; :O&amp;nbsp; Remove all caps and add a pull-up... &lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532246#M10376</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:15Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1114 and Rotary necoder</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532247#M10377</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by vladimirro on Fri Jun 19 14:52:07 MST 2015&lt;/STRONG&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;Your rising edge is too slow&amp;nbsp; :O&amp;nbsp; Remove all caps and add a pull-up...&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Will do tomorrow (my time zone). BTW isn't internal pull-up enough?&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:33:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC1114-and-Rotary-necoder/m-p/532247#M10377</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:33:15Z</dc:date>
    </item>
  </channel>
</rss>

