Update for 20-11-21 18:45

This commit is contained in:
Tyler Perkins 2021-11-20 18:45:01 -05:00
parent 07be566e8f
commit e1c41cb1dc
2 changed files with 40 additions and 2 deletions

32
tech/SPI.wiki Normal file
View File

@ -0,0 +1,32 @@
= SPI =
SPI or Serial peripheral interface is the standard often used as a form of
interchip communication on boards, and in embedded devices.
See https://www.youtube.com/watch?v=MCi7dCBhVpQ
== Layout ==
Each device, the master and slave (often microcontroler as master and
peripheral/sensor as slave) have four pins
* SCK - Serial Clock
* CS - Chip select (active low)
* SDI - Serial data in
* SDO - Serial data out
NOTE serial data * is from the persepctive of the device (SDI on master is
connected to SDO on slave and vice versa).
SDO on the master to SDI on the peripherial is often called MOSI (Master out
Slave in), and the inverse is often called MISO (Master in Slave out).
Some chips may only have a MOSI, as some devices do not create data to send
back to the master.
== Sending data ==
On the *rising edge* of the clock, each device reads what is currently set on
the respective input port. The chip must also have its output set before the
rising edge, to ensure that the device will receive the data it intends to
send. All of this only occurs when CS is set low.

View File

@ -16,7 +16,7 @@ user, sometimes so that they don't even know there is a computer
- Pi Pico - Pi Pico
* [[ARM]] Processor type * [[ARM]] Processor type
=== Line of products === == Line of products ==
* [[ATMega328P|Arduino Nano]] * [[ATMega328P|Arduino Nano]]
* [[ESP32]] * [[ESP32]]
@ -41,16 +41,22 @@ user, sometimes so that they don't even know there is a computer
* [[nRF24L01]] * [[nRF24L01]]
Also see [[Ham]]
==== Power regulation ==== ==== Power regulation ====
* [[TP4056]] * [[TP4056]]
* [[TPS76933DBVR]] * [[TPS76933DBVR]]
=== Programming === == Programming ==
* [[../lang/C|C]] * [[../lang/C|C]]
* [[../lang/C++|C++]] * [[../lang/C++|C++]]
* [[arduino_techniques|Techniques]] * [[arduino_techniques|Techniques]]
* [[cross_toolchain|Arduino Cross-Toolchain setup]] * [[cross_toolchain|Arduino Cross-Toolchain setup]]
== Communication ==
* [[SPI]]
[[index]] [[index]]