7 years, 4 months ago.

Continuous output SPI not continuous in particular case on Nucleo F303K8

Hi all (also posted in forum/bugs)

I'm driving out of my F303K8 a continuous SPI sequence using transfer() of about 600 bytes long. Of course I didn't start with 600, I started by getting 1 through 8 working first. I want to use 5 bits of output per 'SPI byte' at 2 MHz. That's the goal.

The following setups show what I've tried, what works, and which combo does not give a continuous output. Instead, there is a curious gap in the clock and data.

2 Mhz, 5 bits per byte, 5  bytes total - works
2 MHz, 5 bits per byte, 7  bytes total - GAP BETWEEN 6th and 7th byte - renders my output useless
2 MHz, 8 bits per byte, 64 bytes total - works
1 MHz, 5 bits per byte, 8  bytes total - works
1 MHz, 5 bits per byte, 64 bytes total - works

Trace:

/media/uploads/RichColours/fivebitsspi.jpg

As you can see, the last byte (of five bits) is hanging off the right-hand side with a gap between it and its 6 earlier ones. Trace is aligned bang on the left hand side so it fits with the grid lines.

Does anyone have any ideas?

I've twiddled that FRF register - it's not that.

Thanks

RichColours

Be the first to answer this question.