Estoy intentando cambiar el microcontrolador que viene con ADE7878 por el STM32F429i . La documentación de Analog Devices muestra cómo hacerlo usando SPI. Lo estoy intentando pero no recibo respuesta de ADE7878. Pongo algunas imágenes para ilustrar la pregunta:
Yfinalmenteelproblema:
Como se puede ver, el MISO está oscilando en fase con el reloj, pero parece ser solo un ruido y todo lo que envía es 0xFF
.
Estoy configurando SPI con estos parámetros:
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;
El reloj del STM32F429i es 180MHz.
Probé esta comunicación STM32F429i SPI con otra placa STM32F4 y fue correcta, sin ningún problema, usando esta misma configuración.
Por favor, cualquier pregunta, cualquier duda, hágamelo saber. Será un placer ayudarte a ayudarme ... :)
¡Gracias!