Arduino SPI default settings?


Where are the default settings of SPI set on an Arduino with a 328p MCU? Are they in the bootloader? What are the values for the SPCR? I know cs 10, mosi 11, miso 12, and clock 13. Is cs set to output or input initially? Is cs set to high or low initially? What is the default clock speed?



I guess I will rephrase my question since I am not getting any responses. Let's say I get an Arduino 328 at the store. Is the SPCR register clear or set to enabled?

The Arudiuno will not have SPI enabled unless I load a sketch / library which sets the SPRC register and enables SPI, correct? If I load a sketch which uses SPI will those changes remain when the Arduino reboots. Lets say I change sketch to "Blink", will the SPCR still be set to enabled?

If I enable SPI by making the appropriate changes to the registers. What would I need to clear all of these SPI settings?



Is the SPCR register clear or set to enabled?

Registers are typically non-volitle. So it will need to be set each time the micro controller is reset.

As for your specific behavior questions, you might want to look through the SPI library to see how things are setup.

Thanks James that will get me started!