
UM10800
All information provided in this document is subject to legal disclaimers.
© NXP Semiconductors N.V. 2016. All rights reserved.
User manual
Rev. 1.2 — 5 October 2016
463 of 487
NXP Semiconductors
UM10800
Chapter 34: LPC82x Code examples
34.3.6 Transmit and receive 24 bits to/from slave 0
34.3.7 Transmit and receive 24 bits to/from slave 0, interrupt mode
34.3.8 Transmit 8 bits to master
34.3.9 Receive 8 bits to master
Table 427. SPI Code example
Transmit and receive 24 bits to/from slave 0.
LPC_SPI->CFG = SPI_CFG_MASTER | SPI_CFG_ENABLE;
while(~LPC_SPI->STAT & SPI_STAT_TXRDY);
LPC_SPI->TXDATCTL = SPI_TXDATCTL_FLEN(15) | SPI_TXDATCTL_SSEL_N(0xe) | 0xdddd;
while(~LPC_SPI->STAT & SPI_STAT_RXRDY);
data = LPC_SPI->RXDAT;
if(data != 0xdddd) abort();
while(~LPC_SPI->STAT & SPI_STAT_TXRDY);
LPC_SPI->TXDATCTL = SPI_TXDATCTL_FLEN(7) | SPI_TXDATCTL_EOT |
SPI_TXDATCTL_SSEL_N(0xe) | 0xdd;
while(~LPC_SPI->STAT & SPI_STAT_RXRDY);
data = LPC_SPI->RXDAT;
if(data != 0xdd) abort();
while(~LPC_SPI->STAT & SPI_STAT_MSTIDLE);
Table 428. SPI Code example
Transmit and receive 24 bits to/from slave 0, interrupt mode.
LPC_SPI->CFG = SPI_CFG_MASTER | SPI_CFG_ENABLE;
LPC_SPI->INTENSET = SPI_STAT_TXRDY | SPI_STAT_RXRDY;
while(LPC_SPI->INTENSET & (SPI_STAT_TXRDY | SPI_STAT_RXRDY));
NVIC_DisableIRQ(Spi_IRQn);
Table 429. SPI Code example
Transmit 8 bits to master.
LPC_SPI->CFG = SPI_CFG_ENABLE;
while(~LPC_SPI->STAT & SPI_STAT_TXRDY);
LPC_SPI->TXDATCTL = SPI_TXDATCTL_FLEN(7) | SPI_TXDATCTL_RXIGNORE | 0xdd;
while(~LPC_SPI->STAT & SPI_STAT_TXRDY);
LPC_SPI->STAT = SPI_STAT_SSD;
while(~LPC_SPI->STAT & SPI_STAT_SSD);
LPC_SPI->STAT = SPI_STAT_SSD;
Table 430. SPI Code example
Receive 8 bits to master.
LPC_SPI->CFG = SPI_CFG_ENABLE;
while(~LPC_SPI->STAT & SPI_STAT_TXRDY);
LPC_SPI->TXDATCTL = SPI_TXDATCTL_FLEN(7);
while(~LPC_SPI->STAT & SPI_STAT_RXRDY);
data = LPC_SPI->RXDAT;
if(data != 0xdd) abort();