MSPM0_ValvanoWare  1.0
ECE445L starter code
SPI.h
Go to the documentation of this file.
1 
40 #ifndef __SPI_H__
41 #define __SPI_H__
42 
43 #define ECE445L_Lab6 0
44 #if ECE445L_Lab6
45 // SPI1 SCLK
46 #define SPI1_SCLKINDEX (PA17INDEX) // PA17 is SPI1 SCLK
47 
48 // SPI1 PICO
49 #define SPI1_PICOINDEX (PA18INDEX) // PA18 is SPI1 PICO MOSI
50 
51 // SPI1 POCI MISO
52 #define SPI1_POCIINDEX (PA16INDEX) // PA16 is SPI1 POCI MISO
53 
54 // SDC CS
55 #define SDC_CS GPIOA
56 #define SDC_CS_PIN (1<<25) // CS controlled by software
57 #define SDC_CS_INDEX (PA25INDEX) // PA25 GPIO
58 #define SDC_CS_LOW() (SDC_CS->DOUTCLR31_0 = SDC_CS_PIN) // PA25 low
59 #define SDC_CS_HIGH() (SDC_CS->DOUTSET31_0 = SDC_CS_PIN) // PA25 high
60 
61 // TFT CS
62 #define TFT_CS GPIOA
63 #define TFT_CS_PIN (1<<27) // TFT CS controlled by software
64 #define TFT_CS_INDEX (PA27INDEX) // PA27 GPIO
65 #define TFT_CS_LOW() (TFT_CS->DOUTCLR31_0 = TFT_CS_PIN) // PA27 low
66 #define TFT_CS_HIGH() (TFT_CS->DOUTSET31_0 = TFT_CS_PIN) // PA27 high
67 
68 // TFT DC
69 #define TFT_DC GPIOA
70 #define TFT_DC_PIN (1<<13) // D/C controlled by software
71 #define TFT_DC_INDEX (PA13INDEX) // PA13 GPIO
72 #define TFT_DC_LOW() (TFT_DC->DOUTCLR31_0 = TFT_DC_PIN) // PB16 low
73 #define TFT_DC_HIGH() (TFT_DC->DOUTSET31_0 = TFT_DC_PIN) // PB16 high
74 
75 // TFT RST
76 #define TFT_RST GPIOA
77 #define TFT_RST_PIN (1<<24) // !RST controlled by software
78 #define TFT_RST_INDEX (PA24INDEX) // PB15 GPIO
79 #define TFT_RST_LOW() (TFT_RST->DOUTCLR31_0 = TFT_RST_PIN) // PA24 low
80 #define TFT_RST_HIGH() (TFT_RST->DOUTSET31_0 = TFT_RST_PIN) // PA24 high
81 
82 #else
83 // SPI1 SCLK
84 #define SPI1_SCLKINDEX (PB9INDEX) // PB9 is SPI1 SCLK
85 
86 // SPI1 PICO
87 #define SPI1_PICOINDEX (PB8INDEX) // PB8 is SPI1 PICO MOSI
88 
89 // SPI1 POCI
90 #define SPI1_POCIINDEX (PB7INDEX) // PB7 is SPI1 POCI MISO
91 
92 // SDC CS
93 #define SDC_CS GPIOA
94 #define SDC_CS_PIN (1<<12) // CS controlled by software
95 #define SDC_CS_INDEX (PA12INDEX) // PA12 GPIO
96 #define SDC_CS_LOW() (SDC_CS->DOUTCLR31_0 = SDC_CS_PIN) // PA12 low
97 #define SDC_CS_HIGH() (SDC_CS->DOUTSET31_0 = SDC_CS_PIN) // PA12 high
98 
99 // TFT CS
100 #define TFT_CS GPIOB
101 #define TFT_CS_PIN (1<<6) // TFT CS controlled by software
102 #define TFT_CS_INDEX (PB6INDEX) // PB6 GPIO
103 #define TFT_CS_LOW() (TFT_CS->DOUTCLR31_0 = TFT_CS_PIN) // PB6 low
104 #define TFT_CS_HIGH() (TFT_CS->DOUTSET31_0 = TFT_CS_PIN) // PB6 high
105 
106 // TFT DC
107 #define TFT_DC GPIOA
108 #define TFT_DC_PIN (1<<13) // D/C controlled by software
109 #define TFT_DC_INDEX (PA13INDEX) // PA13 GPIO
110 #define TFT_DC_LOW() (TFT_DC->DOUTCLR31_0 = TFT_DC_PIN) // PB16 low
111 #define TFT_DC_HIGH() (TFT_DC->DOUTSET31_0 = TFT_DC_PIN) // PB16 high
112 
113 // TFT RST
114 #define TFT_RST GPIOB
115 #define TFT_RST_PIN (1<<15) // !RST controlled by software
116 #define TFT_RST_INDEX (PB15INDEX) // PB15 GPIO
117 #define TFT_RST_LOW() (TFT_RST->DOUTCLR31_0 = TFT_RST_PIN) // PB15 low
118 #define TFT_RST_HIGH() (TFT_RST->DOUTSET31_0 = TFT_RST_PIN) // PB15 high
119 #endif
120 
128 void SPI_OutData(char data);
129 
137 void SPI_OutCommand(char command);
138 
149 void SPI1_Reset(void);
150 
151 // SDC CS initialization
152 void CS_Init(void);
153 
170 void SPI1_Init(void);
171 
172  //---------TFT_OutCommand------------
173  // Output 8-bit command to SPI port
174  // Input: data is an 8-bit data to be transferred
175  // Output: none
176  void TFT_OutCommand(char command);
177 
185 void TFT_OutData(char data);
186 
187 
188 #endif // __SPI_H__
void SPI_OutCommand(char command)
Output command.
void SPI1_Init(void)
initialize SPI1
void SPI1_Reset(void)
Reset LCD.
void TFT_OutData(char data)
Output data.
void SPI_OutData(char data)
Output data.