no way to compare when less than two revisions
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— | spi:arduino:start [Mon. 03.07.2017 10:13] (aktuell) – angelegt wikiadmin | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== SPI mit Arduino ====== | ||
+ | Für die Arduino-Plattform verwendet man am besten die [[https:// | ||
+ | |||
+ | TODO | ||
+ | |||
+ | Alternativ gibt es auch die Möglichkeit über [[http:// | ||
+ | |||
+ | ==Selbst um CS kümmern== | ||
+ | |||
+ | Beim Arduino Uno, Nano muss man sich noch selbst um die Steuerung der Slave-Select (SS) Signale kümmern. | ||
+ | |||
+ | ==SPI-Parameter einstellen== | ||
+ | |||
+ | Mit dem Befehl [[https:// | ||
+ | |||
+ | SPISettings mySettting(speedMaximum, | ||
+ | |||
+ | oder direkt | ||
+ | |||
+ | SPI.beginTransaction(SPISettings(14000000, | ||
+ | |||
+ | * speedMaximum = Integer in Hz | ||
+ | * dataOrder = '' | ||
+ | * dataMode = '' | ||
+ | |||
+ | ==Schnittstelle initialisieren== | ||
+ | |||
+ | <code c> | ||
+ | SPI.begin(); | ||
+ | </ | ||
+ | |||
+ | Der Befehl [[https:// | ||
+ | |||
+ | ==Geschwindigkeit einstellen== | ||
+ | |||
+ | Mit dem Befehl [[https:// | ||
+ | |||
+ | 2, 4, 8, 16, 32, 64, 128 | ||
+ | |||
+ | Für jeden dieser Werte ist eine " | ||
+ | |||
+ | SPI_CLOCK_DIV2, | ||
+ | |||
+ | Auf Uno und Nano ist der Defaultwert ist '' | ||
+ | |||
+ | ==Interrupts verwenden== | ||
+ | |||
+ | <code c> | ||
+ | SPI.usingInterrupt(); | ||
+ | </ | ||
+ | |||
+ | ==Transaktionen durchführen== | ||
+ | |||
+ | Unter einer Transaktion versteht man die Kommunikation mit einem bestimmten SPI-Slave. Dabei tauscht nur dieser mit dem Master Daten aus. | ||
+ | |||
+ | <code c> | ||
+ | SPI.beginTransaction(); | ||
+ | ... | ||
+ | SPI.endTransaction(); | ||
+ | </ | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | ===== Links und Referenzen ===== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// |