/*## EXTI0 in Polling Mode and SPI4 & SPI5 to Receive AD7768 Data bits on DOUT0 and DOUT1 ###*/ // Polling for EXTI0 (/DRDY) rising edge to start MCU SPI ports while (__HAL_GPIO_EXTI_GET_IT(EXTI0) != SET); { __HAL_SPI_ENABLE(&Spi4Handle); __HAL_SPI_ENABLE(&Spi5Handle); __HAL_GPIO_EXTI_CLEAR_IT(EXTI0); } // throw out the last byte/word captured in the previous ODR cycle !!! Rx_temp = *(__IO uint8_t *)&Spi4Handle.Instance->DR; Rx_temp = *(__IO uint8_t *)&Spi5Handle.Instance->DR; while (SPI4_ByteCount < SPI4_CNVByteNum)// total data byte number to read in one conversion cycle { if (__HAL_SPI_GET_FLAG(&Spi5Handle, SPI_FLAG_RXNE))// { SPI_RxBuffer[RxBuf_Idn] = *(__IO uint8_t *)&Spi4Handle.Instance->DR; SPI_RxBuffer[RxBuf_Idn+1] = *(__IO uint8_t *)&Spi5Handle.Instance->DR; RxBuf_Idn++; SPI4_ByteCount += 2; } } __HAL_SPI_DISABLE(&Spi4Handle); __HAL_SPI_DISABLE(&Spi5Handle);