Hello PAULO FERREIRA,
I think your problem is caused by your LPC824 CRC configuration.
Because I also test your desired CRC for "ABC" =0x41,0x42,0x43, I can get the correct CRC data 0x60d.
Now, post my test code for your reference.
1. Your desired information
Polynomial = x16 + x12 + x5 + 1 (ccitt)
Seed Value = 0xFFFF
Bit order reverse for data input: Yes
1's complement for data input: NO
Bit order reverse for CRC sum: Yes
1's complement for CRC sum: NO
According to the register description

So, MODE should be:0x14 .
2. function
static const uint8_t kerrytest[] = {0x41,0x42,0x43};
uint32_t kerry_result;
In main, call:
int main(void)
{
/* Board Initialization */
SystemCoreClockUpdate();
Board_Init();
/* Chip Initialization */
Chip_CRC_Init();
/* Enable SysTick Timer */
SysTick_Config(SystemCoreClock / TICKRATE_HZ);
/* Loop tests with occasional forced error */
while (1) {
kerry_test(kerrytest,3);
}
}
void kerry_test(const uint8_t *data, uint32_t bytes)
{
LPC_CRC->MODE = 0x14;
LPC_CRC->SEED = CRC_SEED_CCITT;
while (bytes > 0) {
Chip_CRC_Write8(*data);
data++;
bytes--;
}
kerry_result = Chip_CRC_Sum();//Chip_CRC_CRC8(kerrytest, 3);
}
After test, the debug result is:

You can find the kerry_result is 0x60d0 .
3. Use CRC calculation tool
CRC calculation

In conclusion, you can find the result in CRC calculation tool and the LPC824 code is the same.
Wish it helps you!
If you still have question, please kindly let me know!
Have a great day,
Kerry
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------