Arm Mbed and Pelion Device Management support forum

LPC44088 quickstar + MbedOS v5 Probleams reading Input

Hello:
Im using the LPC4088 QuickstartBoard and i wanted to use GPIOinterrupt on a normal pin.
I decided to use p17(P0_25) as the interrupt which is P0_25 and also is ADC_IN2.
When i create this code:

DigitalInOut triggerGUI(p17);
triggerGUI.input();
triggerGUI.mode(PullNone);//external pull up
enable = triggerGUI.is_connected();//this is ALWAYS 1
enable = 0;
enable = triggerGUI.read(); //Using external pull up enable is ALWAYS 0

when changing p17 to p14 (P0_6)

DigitalInOut triggerGUI(p14);
triggerGUI.input();
triggerGUI.mode(PullNone);
enable = triggerGUI.is_connected();//this is ALWAYS 1
enable = 0;
enable = triggerGUI.read(); //Using external pull up enable is ALWAYS 1

This behavior also is happening with pin p26 (P1_7) which also is CMP1_IN0 i always read 0 no matter the external pull up,.

Both pins p17 and p26 work ok as OUTPUTS but as INPUTS they fail.
I also checked each register of each pin and in p17 and p14 is the same, but the software just wont work on p17

I dont know if im missing something or there is a problem with certain pins as inputs because of the other pin functions.

Whit pin p14 my interrupt is working as intended so the problem is thata for some reason these pins wont work as inputs even when the registers are corrctly config (IOCON with 0 function and GPIO with 0 as Input)

Thank you for your help

Can anyone help? thank you

The datasheet says this about P0_25.

ADC0_IN[2] — A/D converter 0, input 2. When configured as an ADC input, the digital function of the pin must be disabled.

My guess is that the digital function is disabled since mbed configures this pin for analog input.

Hello, and thank you. I overwrite the value on the IOCON register bits [2:0] to 000 when using the pin so im setting the function properly, i can check it on runtime with debug.