Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
en:netzer:spi-master [2015/12/23 17:10] svesch [Communication] |
en:netzer:spi-master [2015/12/23 17:37] svesch [SPI master in single slave operation] |
||
---|---|---|---|
Line 123: | Line 123: | ||
| T | 0x54 | Wait 1\ ms till processing of the next character. | 1.5 | | | T | 0x54 | Wait 1\ ms till processing of the next character. | 1.5 | | ||
| All others | Character is transparently transmitted. | | | All others | Character is transparently transmitted. | | ||
+ | |||
+ | |||
+ | ===== SPI master in single slave operation ===== | ||
+ | |||
+ | For using this SPI master in a single slave environment this example is provided here. | ||
+ | We assume that the slave is connected with the SPI_CS wire like shown below. | ||
+ | |||
+ | {{:en:netzer:spi_master_connection.gif|}} | ||
+ | |||
+ | The SPI_CS shall be low active - a low level selects the slave. | ||
+ | The pull up resistor at CS is needed to prevent false selection. | ||
+ | This may occur on power up if CS is not driven by Netzer. | ||
+ | The pull up resistor at SPI_MI is needed to prevent floating in case the slave is not selected and therefore the pin is not driven. | ||
+ | |||
+ | The data string <code>01 23 45 67 89</code> shall be sent to the SPI slave. | ||
+ | |||
+ | The command for controlling the SPI_CS line is an escape sequence consisting of two bytes: | ||
+ | <code>5c 69</code> for setting SPI_CS to low and | ||
+ | <code>5c 49</code> for setting SPI_CS to high. | ||
+ | |||
+ | The final code together: | ||
+ | <code>5c 69 01 23 45 67 89 5c 49</code> | ||