LPC810 differences between REV 2X and REV 4C?

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by frankvnk on Mon Feb 01 15:05:46 MST 2016
I ran into problems problem when i flashed code on a rev 4C mcu that worked fine on a rev 2X mcu.

This is a little test project to receive NEC infrared transmitter codes (see annexed LPCXpresso project - LPCXpresso v7.9.2 Build493):
  [*]I started with the LPC810_CodeBase from https://github.com/microbuilder/LPC810_CodeBase
  [*]Next, i ported the PJRC IRremote library from https://www.pjrc.com/teensy/td_libs_IRremote.html

Some modifications were made to the mrt part in the LPC810_CodeBase to allow a more flexible mrt initialization - has been tested separately and works fine.
This code works fine on a rev 2X mcu : a short keypress returns the key code, a long keypress returns the key code followed by the repeat code.
On a rev 4C mcu, 99% of the time, i get a repeat code instead of a keypress code (short or long press, it doesn't matter). It seems the initial keypress is immediately lost or not detected.

The LPC810 mcu versions i used :
rev 2X

rev 4C

System clock =  30MHz
IR receiver connected to PIO0_1.
LED connected to PIO0_3 (switched on/off using an mrt channel).
As PIO0_1 is also connected to the ISP button, i tried using PIO0_2 but nothing changed.
A lower system clock does not change anything either.

Are there, besides the comparator fix, other significant changes between rev 2X and rev 4C that would force us to change the LPC810_CodeBase initialization code?

Original Attachment has been moved to: IR_decoder_modified_MRT_IRremote_REV4C.zip