This question is in regard to this LPC407x_8x_177x_8x.h header file.
* $Id$ LPC407x_8x_177x_8x.h 2012-04-25
*//**
* @file LPC407x_8x_177x_8x.h
*
* @brief CMSIS Cortex-M4 Cortex-M3 Peripheral Access Layer Header File for
* NXP LPC407x_8x_177x_8x.
* @version V0.7
* @date 20. June 2012
* @author NXP MCU SW Application Team
*
* Copyright(C) 2012, NXP Semiconductor
* All rights reserved.
Why are 8-bit values, such as THR, defined as 8-bit values for all but UART4, which is defined as a 32-bit value?
All the fields in the LPC_UART4_TypeDef are defined as 32-bit values, but not the other UART typedefs. The datasheet shows the same info for fields like THR for all the different types of UARTs, but this header file defines them differently. This causes issues for my generic UART class, that I can work around by typecasting, but this seems like these are errors in your header file.