nrf51.h has the following listed for NRF_UART ..
typedef struct {
__O uint32_t TASKS_STARTRX;
__O uint32_t TASKS_STOPRX;
__O uint32_t TASKS_STARTTX;
__O uint32_t TASKS_STOPTX;
__I uint32_t RESERVED0[3];
__O uint32_t TASKS_SUSPEND; /*!< Suspend UART. */
As far as I can tell from the nrf51 reference, the UART doesnt' support TASKS_SUSPEND (and neither is there a TASKS_RESUME to match it) so I think this is just an error in nrf51.h. It looks like that leaked in from the TWI interface by mistake.
I also note the documentation in the nrf51 Series Reference manual states the following ..
The UART shares registers and other resources with other peripherals that have the same ID as the UART.
.....
See the Instantiation table in Section 4.2 “Instantiation” on page 13 for details on peripherals and their IDs.
That appears not to be true. Looking at section 4.2, the UART is ID 2 (0x40002000) and that's not shared with anything else.
Can these be fixed in the next release of the .h files and the documentation please.
Edit: the more I look, the more I find. The header also has
__IO uint32_t EVENTS_CTS
__IO uint32_t EVENTS_NCTS
__IO uint32_t SHORTS
none of which are documented, there are in fact no SHORTS documented for the UART at all but it seems they may exist and events telling you when CTS is activated and deactivated would also be rather useful.
What's correct here, the header, the documentation, neither?