I'm trying to receive data over SPI using the Nucleo-F746ZG. I'm using Cube MX and AC6 Workbench.
Unfortunately, there are no SPI examples for this board that use the drivers generated by Cube MX (That I can find at least..)
I have SPI1 enabled as a full duplex (Have also tried half duplex).
NSS is set to hardware input.
I have my pins configured like this:
/**SPI1 GPIO Configuration
PA4 ------> SPI1_NSS
PA5 ------> SPI1_SCK
PA6 ------> SPI1_MISO
PA7 ------> SPI1_MOSI
I then used a logic analyser to ensure that all pins are connected properly and receiving data as they should.
I have triple checked my SPI data/clock config and it's definitely correct.
I have enabled SPI global interrupt in both the SPI config and NVIC config in cube MX.
I then added this function to my main.c, just before the main function. I copied this from the weak declaration in the HAL driver.
void HAL_SPI_RxCpltCallback(SPI_HandleTypeDef *hspi)
The green LED on the Nucleo board should toggle every time a byte of data is received on MOSI. It's not happening.
I have also checked the SPI1 data register, and there is never anything in it.
I would put up more code, but it's all generated by CubeMX, so it should be fine.
Any help would be greatly appreciated - I'm pulling my hair out!!