User`s manual
RX62N Group, RX621 Group 5. Usage Examples
0,
PDL_SPI_CLOCK_MODE_0 | PDL_SPI_LENGTH_8 | PDL_SPI_LSB_FIRST |
PDL_SPI_ASSERT_SSL1,
PDL_NO_DATA
);
/* Configure the slave */
R_SPI_Command(
SLAVE_CHANNEL,
0,
PDL_SPI_CLOCK_MODE_0 | PDL_SPI_LENGTH_8 | PDL_SPI_LSB_FIRST,
PDL_NO_DATA
);
/* Clear the receive buffers */
for (i = 0; i < BUFFER_LENGTH; i++)
{
master_rx_data[i] = 0x00000000;
slave_rx_data[i] = 0x00000000;
}
/* Copy the source data into the transmit buffers */
for (i = 0; i < strlen(master_data_to_be_sent); i++)
{
master_tx_data[i] = (uint32_t)master_data_to_be_sent[i];
slave_tx_data[i] = (uint32_t)slave_data_to_be_sent[i];
}
/* Prepare the Slave for data transfer */
R_SPI_Transfer(
SLAVE_CHANNEL,
PDL_NO_DATA,
slave_tx_data,
slave_rx_data,
(uint16_t)strlen(slave_data_to_be_sent),
spi_slave_callback,
15
);
slave_transfer_complete = false;
/* Transfer all the data once */
R_SPI_Transfer(
MASTER_CHANNEL,
PDL_NO_DATA,
master_tx_data,
master_rx_data,
(uint16_t)strlen(master_data_to_be_sent),
PDL_NO_FUNC,
0
);
while (slave_transfer_complete == false);
for (i = 0; i < strlen(master_data_to_be_sent); i++)
{
/* Did the Master output match the Slave input? */
if (master_data_to_be_sent[i] != (uint8_t)slave_rx_data[i])
{
while(1);
}
/* Did the Master input match the Slave output? */
if ( (uint8_t)master_rx_data[i] != slave_data_to_be_sent[i])
{
while(1);
}
}
}
R20UT0084EE0112 Rev.1.12 Page 5-66
July. 16, 2014