The latest NXP-NCI example is rev 1.6, and when you run this demo with the lpc11xx board, for example, lpc1115 rev A, and the OM5577, you may meet the following issue:


The problem is due to two aspects: one is hardware and the other is software.
- For hardware solution, besides following what is described in AN11658 section 2.4 LPC11xx, you have to do one more thing:


a) The I2C lines are not pulled-up: LPC11xx doesn't offer internal pull-up setting of the I2C lines so external pull-up resistors must be added.

- For software solution, the function of Sleep()( in tool.c) was optimized too much, and it didn't meet the timing requirement of OM5577, so we should let the IDE ignore it. The solution I use is as below:
__attribute__((optimize("O0"))) void my_func()
{
blah
}
You may check the attachment for details.
- The result is shown as below:


Original Attachment has been moved to: tool.c.zip