Okay, I found another thread with the same problem:
For me also the dwt_initialise()
function causes the problem. If I don"t call it, writing to SPI works (I also have the problem that Device ID is 0xFFFFFFFF after calling dwt_initialise()
).
Why does dwt_initialise()
cause this behavior?
But I still have another problem:
This part waits for a frame and checks the SYS_STATUS_ID register to see if a frame was received.
/* Activate reception immediately. */
dwt_rxenable(DWT_START_RX_IMMEDIATE);
/* Poll for reception of a frame or error/timeout. See NOTE 5 below. */
while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & (SYS_STATUS_RXFCG | SYS_STATUS_ALL_RX_TO | SYS_STATUS_ALL_RX_ERR)))
{};
However, dwt_read32bitreg(SYS_STATUS_ID)
always returns 0xFFFFFFFF for me, even though no frame was received, which then causes the loop to terminate. Does anyone know why that is?