Hello,
I am interfacing LPC54113 with ADS1293 using SPI Protocol.
I have configured Flexcom5 for SPI Using MCUxpresso IDE,But SPI not working.SDI Pin Showing Low voltage.
For Configuration setting PFA>
See Below code,
static void SPI_master_callback(SPI_Type *base,spi_master_handle_t *handle, status_t status,void *userData)
{
isFinished = true;
}
SPI_MasterTransferCreateHandle(ECG_PERIPHERAL, &ECG_handle, SPI_master_callback, NULL); // SPI Handler ECG
///////////////////////////////////////////////////////////////////////////////////////////////////////
void ads1293WriteRegister(uint8_t wrAddress, uint8_t data)
{
uint8_t dataToSend = (wrAddress & WREG);
spi_transfer_t ALL_SPI_Transfer;
memset(&ALL_SPI_Transfer, 0, sizeof(ALL_SPI_Transfer));
//digitalWrite(csPin, LOW);
GPIO_PinWrite(BOARD_INITPINS_ECG_CS_GPIO,BOARD_INITPINS_ECG_CS_PORT,BOARD_INITPINS_ECG_CS_PIN,0U);
ECG_txdbuff[0] = dataToSend;
// ECG_txdbuff[1] = 0x00;
ECG_txdbuff[1] = data;
ALL_SPI_Transfer.txData = ECG_txdbuff;
ALL_SPI_Transfer.rxData = NULL;
ALL_SPI_Transfer.dataSize = sizeof(ECG_txdbuff);
// Send out.
SPI_MasterTransferNonBlocking(ECG_PERIPHERAL, &ECG_handle, &ALL_SPI_Transfer);
while(!isFinished)
{
}
GPIO_PinWrite(BOARD_INITPINS_ECG_CS_GPIO,BOARD_INITPINS_ECG_CS_PORT,BOARD_INITPINS_ECG_CS_PIN,1U);
// digitalWrite(csPin, HIGH);
}
////////////////////////////////////////////////////////////////////////////////////////////////////
uint8_t ads1293ReadRegister(uint8_t rdAddress){
uint8_t rdData;
uint8_t dataToSend = (rdAddress | RREG);
spi_transfer_t ALL_SPI_Transfer;
memset(&ALL_SPI_Transfer, 0, sizeof(ALL_SPI_Transfer));
// digitalWrite(csPin, LOW);
GPIO_PinWrite(BOARD_INITPINS_ECG_CS_GPIO,BOARD_INITPINS_ECG_CS_PORT,BOARD_INITPINS_ECG_CS_PIN,0U);
ECG_txBuffer[0] = dataToSend;
ALL_SPI_Transfer.txData = ECG_txdbuff;
ALL_SPI_Transfer.rxData = ECG_redbuff;
ALL_SPI_Transfer.dataSize = sizeof(ECG_txdbuff);
// Send out.
SPI_MasterTransferNonBlocking(ECG_PERIPHERAL, &ECG_handle, &ALL_SPI_Transfer);
while(!isFinished)
{
}
rdData = ECG_redbuff[0];
// digitalWrite(csPin, HIGH);
GPIO_PinWrite(BOARD_INITPINS_ECG_CS_GPIO,BOARD_INITPINS_ECG_CS_PORT,BOARD_INITPINS_ECG_CS_PIN,1U);
return (rdData);
}