# Problems communicating by SPI from STM32F429 and ADE7878 board

I'm trying to change the microcontroller that comes with the ADE7878 evaluation board by the STM32F429i. The documentation from Analog Devices shows how to do this using SPI. I'm trying it but I'm getting no response from ADE7878. I put some images to ilustrate the question:

And finally the problem:

As one can see, the MISO is oscillating in phase with clock but seams to be just a noise and everyting it sends is 0xFF.

I am configuring SPI with this parameters:

SpiHandle.Instance               = SPIx;
SpiHandle.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_128;
SpiHandle.Init.Direction         = SPI_DIRECTION_2LINES;
SpiHandle.Init.CLKPhase          = SPI_PHASE_2EDGE;
SpiHandle.Init.CLKPolarity       = SPI_POLARITY_HIGH;
SpiHandle.Init.CRCCalculation    = SPI_CRCCALCULATION_DISABLE;
SpiHandle.Init.CRCPolynomial     = 7;
SpiHandle.Init.DataSize          = SPI_DATASIZE_8BIT;
SpiHandle.Init.FirstBit          = SPI_FIRSTBIT_MSB;
SpiHandle.Init.NSS               = SPI_NSS_SOFT;
SpiHandle.Init.TIMode            = SPI_TIMODE_DISABLE;


The clock of the STM32F429i is 180MHz.

I tested this STM32F429i SPI communication with another STM32F4 board and it was correct, with no problem, using this same configuration.

Please any question, any doubt let me know. It will be a pleasure to help you to help me... :)

Thanks!

• The "noise" you see is probably due to the fast edges of the STM32 in combination with your probe setup. I notice you use SPI_NSS_SOFT in your init struct. This means the SPI chip select should be set by software, and is not set by hardware. Did you code and check the chip-select pin during SPI transfers? – Hans Oct 7 '15 at 18:44
• @Hans I'm using an IO as Slave Select. See the edition with the SS signal. Thanks! – Leandro Lima Oct 7 '15 at 18:59
• Is there any chance that the STM32F429 has burned the MISO output of ADE7878?? For example, draining more current than it could deliver? – Leandro Lima Oct 8 '15 at 13:38