diff options
Diffstat (limited to 'src/inc/spi/spi.h')
-rwxr-xr-x | src/inc/spi/spi.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/inc/spi/spi.h b/src/inc/spi/spi.h new file mode 100755 index 0000000..bb92cac --- /dev/null +++ b/src/inc/spi/spi.h | |||
@@ -0,0 +1,37 @@ | |||
1 | #ifndef SPI_H | ||
2 | #define SPI_H | ||
3 | |||
4 | #include <avr/io.h> | ||
5 | #include <util/delay.h> | ||
6 | #include "../uart/uart.h" | ||
7 | #include "../stdout.h" | ||
8 | |||
9 | #define SPICLK_DEFAULT SPICLK_64 | ||
10 | #define SPICLK_FAST SPICLK_X2 | ||
11 | |||
12 | #define PORT_SPI PORTB | ||
13 | #define DDR_SPI DDRB | ||
14 | #define DD_SS DDB4 | ||
15 | #define DD_MOSI DDB5 | ||
16 | #define DD_MISO DDB6 | ||
17 | #define DD_SCK DDB7 | ||
18 | |||
19 | typedef enum | ||
20 | { | ||
21 | SPICLK_4, // vv nominal clk-speeds | ||
22 | SPICLK_16, | ||
23 | SPICLK_64, | ||
24 | SPICLK_128, | ||
25 | SPICLK_X2, // vv with SPI2x | ||
26 | SPICLK_X32, | ||
27 | SPICLK_X64 | ||
28 | } SPICLK; | ||
29 | |||
30 | |||
31 | void spi_init(); | ||
32 | void spi_putc(unsigned char c); | ||
33 | unsigned char spi_getc(); | ||
34 | void spi_setspeed(SPICLK speed); | ||
35 | |||
36 | |||
37 | #endif | ||