SPI Master SCB Component - How to tell when character transmitted? | Cypress Semiconductor
SPI Master SCB Component - How to tell when character transmitted?
I'm interfacing an SSD1322 OLED controller in 4-wire (SPI + D/C#) mode. I need to be able to set the D/C# signal high or low depending on whether I'm sending a command byte or a data byte, but I don't see a way to tell that the SPI transmitter is empty so I can correctly manipulate the D/C# signal
With the UDB SPI Master this is easy to do, but unfortunately I do not have enough UDB left over to use a UDB based SPI Master.
I also do not see a specific timing chart (unlike the UDB SPI Master implementation) where I can see exactly where the SCB in SPI Master mode will assert or negate the SS# signal, so I can't tell if there is an opportunity for me to look at the SCB hardware registers, alter the D/C# signal and send the next byte before the SS# signal is negated. Unfortunately the SCB documentation is fairly poor in general.
In order to work around these issues I could tell the SCB component that there is no SS# signal, then claim the pin with a standard Pin component and manipulate it directly. Unfortunately again, the API has no way of doing this, and I don't see way to do it with direct register access, either. I tried assigning a Pin component to the SS# pin but then the fitter tries assigning the SCB SS# signal anyway and bombs out because there are no other available pins. I don't want to have a "useless" SCB-controlled pin, so that option is out as well. I believe this is a bug in the fitter though and not in the SCB itself.
So... I seem to be stuck. I guess a possibility is to use the SCB in unconfigured mode. Has anyone used that before for SPI operation and could share any tips they have?