Can the Arduino communicate over SPI at 10MHz?
I want to use this chip :-
Which uses 10MHz SPI to communicate.
Can the Arduino communicate over SPI at 10MHz?
I want to use this chip :-
Which uses 10MHz SPI to communicate.
Certainly not if it's an 8Mhz model?
There are SPI control registers that control the speed; check the ATmega datasheet. I suspect the defaults will be OK.
Looks like this thing uses 16 bit words. Since the ATmega SPI hardware is 8-bit centric, you'll probably have to bit-bang it anyway, and you'd have to work pretty hard to clock it faster than 10MHz if it's even possible (I doubt it).
-j
Which uses 10MHz SPI to communicate.
When a peripheral chip says it supports 10MHz SPI, that almost always means that it will support any SPI rate up to 10MHz. Lower rates should work fine as well; it's the SPI "host" that gets to determine the clockrate.
Using software SPI using digitalWrite() for the clock signal, you'll get about 100kHz...
If you look at the SPIEEPROM tutorial, it says the setting the SPCR to max gives you 4Mhz comm speed.
16 bit is actually pretty easy, its in the SPI EEPROM tut as well in these lines of code
spi_transfer((char)(EEPROM_address>>8)); //send MSByte address first
spi_transfer((char)(EEPROM_address)); //send LSByte address
you'll have define the spi_transfer() function (surprise its in the tutorial as well)
I think this device has a MAX SPI speed of 10MHz so I guess any speed lower that the Arduino can provide will do the trick.