Hola,
Ya me ha llegado el analizador y he podido hacer algunas pruebas y sacar algunas conclusiones:
Necesito enviar 24 bits por el SPI, para ello yo hago esto:
void SPI_Send(char data1, char data2, char data3){
NSS_LOW; /* CS nivel low para activar SPI */
SPI_I2S_SendData(SPI1,data1);
SPI_I2S_SendData(SPI1,data2);
SPI_I2S_SendData(SPI1,data3);
NSS_HIGH; /* CS nivel high para activar SPI */
}Tengo el SPI configurado para enviar datos de 8 bits, por lo que el código SPI_Send me debería enviar los 24 bits, pero veo que solo me envía 16 bits.
Otra cosa curiosa es que el pin CS lo pongo a 0 antes de enviar y a 1 cuando se han enviado los 3 datos (24 bits) pero veo que se pone a 0 antes de comenzar a enviar y se pone a 1 en el 6º bit...
Me parece curioso todo esto, alguien tiene alguna idea de que hago mal....
Os dejo unas imágenes con el SPI configurado a 8 bits y a 16 bits ( 0 clock - 1 dato - 2 CS )

