92 #if defined(BOARD_KEIL_MCB_18574357) || defined(BOARD_NGX_XPLORER_18304330)
93 #define LPC_SSP LPC_SSP1
94 #define SSP_IRQ SSP1_IRQn
95 #define LPC_GPDMA_SSP_TX GPDMA_CONN_SSP1_Tx
96 #define LPC_GPDMA_SSP_RX GPDMA_CONN_SSP1_Rx
97 #elif defined(BOARD_HITEX_EVA_18504350)
98 #define LPC_SSP LPC_SSP0
99 #define SSP_IRQ SSP0_IRQn
100 #define LPC_GPDMA_SSP_TX GPDMA_CONN_SSP0_Tx
101 #define LPC_GPDMA_SSP_RX GPDMA_CONN_SSP0_Rx
103 #warning Unsupported Board
105 #define BUFFER_SIZE (0x100)
106 #define SSP_DATA_BITS (SSP_BITS_8)
107 #define SSP_DATA_BIT_NUM(databits) (databits+1)
108 #define SSP_DATA_BYTES(databits) (((databits) > SSP_BITS_8) ? 2:1)
109 #define SSP_LO_BYTE_MSK(databits) ((SSP_DATA_BYTES(databits) > 1) ? 0xFF:(0xFF>>(8-SSP_DATA_BIT_NUM(databits))))
110 #define SSP_HI_BYTE_MSK(databits) ((SSP_DATA_BYTES(databits) > 1) ? (0xFF>>(16-SSP_DATA_BIT_NUM(databits))):0)
112 #define SSP_MODE_SEL (0x31)
113 #define SSP_TRANSFER_MODE_SEL (0x32)
114 #define SSP_MASTER_MODE_SEL (0x31)
115 #define SSP_SLAVE_MODE_SEL (0x32)
116 #define SSP_POLLING_SEL (0x31)
117 #define SSP_INTERRUPT_SEL (0x32)
118 #define SSP_DMA_SEL (0x33)
134 static char sspWaitingMenu[] =
"SSP Polling: waiting for transfer ...\n\r";
135 static char sspIntWaitingMenu[] =
"SSP Interrupt: waiting for transfer ...\n\r";
136 static char sspDMAWaitingMenu[] =
"SSP DMA: waiting for transfer ...\n\r";
138 static char sspPassedMenu[] =
"SSP: Transfer PASSED\n\r";
139 static char sspFailedMenu[] =
"SSP: Transfer FAILED\n\r";
141 static char sspTransferModeSel[] =
"\n\rPress 1-3 or 'q' to exit\n\r"
142 "\t 1: SSP Polling Read Write\n\r"
143 "\t 2: SSP Int Read Write\n\r"
144 "\t 3: SSP DMA Read Write\n\r";
146 static char helloMenu[] =
"Hello NXP Semiconductors \n\r";
147 static char sspMenu[] =
"SSP demo \n\r";
148 static char sspMainMenu[] =
"\t 1: Select SSP Mode (Master/Slave)\n\r"
149 "\t 2: Select Transfer Mode\n\r";
150 static char sspSelectModeMenu[] =
"\n\rPress 1-2 to select or 'q' to exit:\n\r"
154 #if defined(BOARD_KEIL_MCB_18574357) || defined(BOARD_NGX_XPLORER_18304330)
155 #define SSPIRQHANDLER SSP1_IRQHandler
156 #elif defined(BOARD_HITEX_EVA_18504350)
157 #define SSPIRQHANDLER SSP0_IRQHandler
184 uint8_t *src_addr = (uint8_t *) &
Tx_Buf[0];
185 uint8_t *dest_addr = (uint8_t *) &
Rx_Buf[0];
227 }
while ((key & 0xFF) == 0xFF);
325 }
while ((key & 0xFF) == 0xFF);
363 }
while ((key & 0xFF) == 0xFF);
446 NVIC_DisableIRQ(DMA_IRQn);
447 NVIC_SetPriority(DMA_IRQn, ((0x01 << 3) | 0x01));
448 NVIC_EnableIRQ(DMA_IRQn);
451 NVIC_EnableIRQ(SSP_IRQ);
453 #if defined(BOARD_HITEX_EVA_18504350)