2016-03-11 08:20 AM
I'm using SPI in bidirectional 8 bit master mode to send 4 bytes to/from my control panel using HAL_SPI_TransmitReceive_IT(). When using SPI_BAUDRATEPRESCALER_256 it works fine, but smaller values cause the module to stop responding and reports BUSY_TX_RX all the time. I can't seem to get the module to restart after this occurs. No error status is present in the ErrorCode register.
Why does this happen and how can I prevent it? Occassionally even with the 256 prescaler if there is high CPU overhead (tons of interrupts due to a problem with USB host code) the module can get stuck like this. Everything else on my system appears to continue working normally.