Hello guys,
I recently bought a new Arduino GIGA R1 WIFI which has multiple ports for SPI communication.
I wanted to ask you if it was possible to change the SPI port on which the microSD cards interface.
the need arises from the fact of being able to create PCBs that are more convenient to design, the SPI1 port that is used is located in the male pins in the center of the board, while for example the SPI5 port is located between pins 10 and 13 in the female pins.
Please let me know if the problem can be resolved and thanks in advance!
In order to make all relevant information available to any who are interested in this subject, I'll share a link to @nocentini's feature request for adding such a capability to the SD library:
Anyone have an idea of how to use the SPI5 port on the GIGA? The SPISettings function doesn't seem to have a way to specify which pins or SPI interface to use. I want to write code to control a SPI device wired to the SPI5 interface, pins 10-13.
The SPI section of the reference docs mention this port but I haven't yet found any indication how to specify the interface port. What am I missing?
In Arduino land, there are two SPI objects created: SPI and SPI1
There is some completely confusing data up on their cheat sheet:
Arduino GIGA R1 Cheat Sheet | Arduino Documentation
There is one very big hint on that page:
Please note that the in the GIGA R1 schematics and the code does not match exactly. In the schematics, you will notice that
Arduino SPI is the processors SPI1 object
and SPI1 is the processors SPI5 object
.
Kurt
Thanks for these very helpful tips and pointers. It seems like enough to get me started in the right direction.
Really appreciate it!
Thanks, Joe
Kurt's answer is exactly right. It's as easy as referring to the second port as SPI1.
SPI.begin();
SPI1.begin();
And this is how I initiate the nRF24 radio on my GIGA R1.
radio.begin(&SPI1, CE_PIN, CSN_PIN);
Actually took me several days to figure this out when I got a new GIGAR1 last year. So, if this helps other folks here ya go.