MSP430 DriverLib for MSP430FR5xx_6xx Devices  2.91.13.01
eusci_a_spi.h
1 //*****************************************************************************
2 //
3 // eusci_a_spi.h - Driver for the EUSCI_A_SPI Module.
4 //
5 //*****************************************************************************
6 
7 #ifndef __MSP430WARE_EUSCI_A_SPI_H__
8 #define __MSP430WARE_EUSCI_A_SPI_H__
9 
10 #include "inc/hw_memmap.h"
11 
12 #ifdef __MSP430_HAS_EUSCI_Ax__
13 
14 //*****************************************************************************
15 //
16 // If building with a C++ compiler, make all of the definitions in this header
17 // have a C binding.
18 //
19 //*****************************************************************************
20 #ifdef __cplusplus
21 extern "C"
22 {
23 #endif
24 
25 #include "inc/hw_memmap.h"
26 //*****************************************************************************
27 //
28 //! \brief Used in the EUSCI_A_SPI_changeMasterClock() function as the param
29 //! parameter.
30 //
31 //*****************************************************************************
33  //! Is the frequency of the selected clock source in Hz
35  //! Is the desired clock rate in Hz for SPI communication
36  uint32_t desiredSpiClock;
38 
39 //*****************************************************************************
40 //
41 //! \brief Used in the EUSCI_A_SPI_initSlave() function as the param parameter.
42 //
43 //*****************************************************************************
45  //! Controls the direction of the receive and transmit shift register.
46  //! \n Valid values are:
47  //! - \b EUSCI_A_SPI_MSB_FIRST
48  //! - \b EUSCI_A_SPI_LSB_FIRST [Default]
49  uint16_t msbFirst;
50  //! Is clock phase select.
51  //! \n Valid values are:
52  //! - \b EUSCI_A_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT [Default]
53  //! - \b EUSCI_A_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT
54  uint16_t clockPhase;
55  //! Is clock polarity select
56  //! \n Valid values are:
57  //! - \b EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_HIGH
58  //! - \b EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_LOW [Default]
59  uint16_t clockPolarity;
60  //! Is SPI mode select
61  //! \n Valid values are:
62  //! - \b EUSCI_A_SPI_3PIN
63  //! - \b EUSCI_A_SPI_4PIN_UCxSTE_ACTIVE_HIGH
64  //! - \b EUSCI_A_SPI_4PIN_UCxSTE_ACTIVE_LOW
65  uint16_t spiMode;
67 
68 //*****************************************************************************
69 //
70 //! \brief Used in the EUSCI_A_SPI_initMaster() function as the param
71 //! parameter.
72 //
73 //*****************************************************************************
75  //! Selects Clock source. Refer to device specific datasheet for available
76  //! options.
77  //! \n Valid values are:
78  //! - \b EUSCI_A_SPI_CLOCKSOURCE_ACLK
79  //! - \b EUSCI_A_SPI_CLOCKSOURCE_SMCLK
81  //! Is the frequency of the selected clock source in Hz
83  //! Is the desired clock rate in Hz for SPI communication
84  uint32_t desiredSpiClock;
85  //! Controls the direction of the receive and transmit shift register.
86  //! \n Valid values are:
87  //! - \b EUSCI_A_SPI_MSB_FIRST
88  //! - \b EUSCI_A_SPI_LSB_FIRST [Default]
89  uint16_t msbFirst;
90  //! Is clock phase select.
91  //! \n Valid values are:
92  //! - \b EUSCI_A_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT [Default]
93  //! - \b EUSCI_A_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT
94  uint16_t clockPhase;
95  //! Is clock polarity select
96  //! \n Valid values are:
97  //! - \b EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_HIGH
98  //! - \b EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_LOW [Default]
99  uint16_t clockPolarity;
100  //! Is SPI mode select
101  //! \n Valid values are:
102  //! - \b EUSCI_A_SPI_3PIN
103  //! - \b EUSCI_A_SPI_4PIN_UCxSTE_ACTIVE_HIGH
104  //! - \b EUSCI_A_SPI_4PIN_UCxSTE_ACTIVE_LOW
105  uint16_t spiMode;
107 
108 
109 //*****************************************************************************
110 //
111 // The following are values that can be passed to the clockPhase parameter for
112 // functions: EUSCI_A_SPI_changeClockPhasePolarity(); the param parameter for
113 // functions: EUSCI_A_SPI_initMaster(), and EUSCI_A_SPI_initSlave().
114 //
115 //*****************************************************************************
116 #define EUSCI_A_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT 0x00
117 #define EUSCI_A_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT UCCKPH
118 
119 //*****************************************************************************
120 //
121 // The following are values that can be passed to the param parameter for
122 // functions: EUSCI_A_SPI_initMaster(), and EUSCI_A_SPI_initSlave().
123 //
124 //*****************************************************************************
125 #define EUSCI_A_SPI_MSB_FIRST UCMSB
126 #define EUSCI_A_SPI_LSB_FIRST 0x00
127 
128 //*****************************************************************************
129 //
130 // The following are values that can be passed to the param parameter for
131 // functions: EUSCI_A_SPI_initMaster(), and EUSCI_A_SPI_initSlave(); the
132 // clockPolarity parameter for functions:
133 // EUSCI_A_SPI_changeClockPhasePolarity().
134 //
135 //*****************************************************************************
136 #define EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_HIGH UCCKPL
137 #define EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_LOW 0x00
138 
139 //*****************************************************************************
140 //
141 // The following are values that can be passed to the param parameter for
142 // functions: EUSCI_A_SPI_initMaster().
143 //
144 //*****************************************************************************
145 #define EUSCI_A_SPI_CLOCKSOURCE_ACLK UCSSEL__ACLK
146 #define EUSCI_A_SPI_CLOCKSOURCE_SMCLK UCSSEL__SMCLK
147 
148 //*****************************************************************************
149 //
150 // The following are values that can be passed to the param parameter for
151 // functions: EUSCI_A_SPI_initMaster(), and EUSCI_A_SPI_initSlave().
152 //
153 //*****************************************************************************
154 #define EUSCI_A_SPI_3PIN UCMODE_0
155 #define EUSCI_A_SPI_4PIN_UCxSTE_ACTIVE_HIGH UCMODE_1
156 #define EUSCI_A_SPI_4PIN_UCxSTE_ACTIVE_LOW UCMODE_2
157 
158 //*****************************************************************************
159 //
160 // The following are values that can be passed to the select4PinFunctionality
161 // parameter for functions: EUSCI_A_SPI_select4PinFunctionality().
162 //
163 //*****************************************************************************
164 #define EUSCI_A_SPI_PREVENT_CONFLICTS_WITH_OTHER_MASTERS 0x0000
165 #define EUSCI_A_SPI_ENABLE_SIGNAL_FOR_4WIRE_SLAVE UCSTEM
166 
167 //*****************************************************************************
168 //
169 // The following are values that can be passed to the mask parameter for
170 // functions: EUSCI_A_SPI_enableInterrupt(), EUSCI_A_SPI_disableInterrupt(),
171 // EUSCI_A_SPI_getInterruptStatus(), and EUSCI_A_SPI_clearInterrupt() as well
172 // as returned by the EUSCI_A_SPI_getInterruptStatus() function.
173 //
174 //*****************************************************************************
175 #define EUSCI_A_SPI_TRANSMIT_INTERRUPT UCTXIE
176 #define EUSCI_A_SPI_RECEIVE_INTERRUPT UCRXIE
177 
178 //*****************************************************************************
179 //
180 // The following are values that can be passed toThe following are values that
181 // can be returned by the EUSCI_A_SPI_isBusy() function.
182 //
183 //*****************************************************************************
184 #define EUSCI_A_SPI_BUSY UCBUSY
185 #define EUSCI_A_SPI_NOT_BUSY 0x00
186 
187 //*****************************************************************************
188 //
189 // Prototypes for the APIs.
190 //
191 //*****************************************************************************
192 
193 //*****************************************************************************
194 //
195 //! \brief Initializes the SPI Master block.
196 //!
197 //! Upon successful initialization of the SPI master block, this function will
198 //! have set the bus speed for the master, but the SPI Master block still
199 //! remains disabled and must be enabled with EUSCI_A_SPI_enable()
200 //!
201 //! \param baseAddress is the base address of the EUSCI_A_SPI Master module.
202 //! \param param is the pointer to struct for master initialization.
203 //!
204 //! Modified bits are \b UCCKPH, \b UCCKPL, \b UC7BIT, \b UCMSB, \b UCSSELx and
205 //! \b UCSWRST of \b UCAxCTLW0 register.
206 //!
207 //! \return STATUS_SUCCESS
208 //
209 //*****************************************************************************
210 extern void EUSCI_A_SPI_initMaster(uint16_t baseAddress,
212 
213 //*****************************************************************************
214 //
215 //! \brief Selects 4Pin Functionality
216 //!
217 //! This function should be invoked only in 4-wire mode. Invoking this function
218 //! has no effect in 3-wire mode.
219 //!
220 //! \param baseAddress is the base address of the EUSCI_A_SPI module.
221 //! \param select4PinFunctionality selects 4 pin functionality
222 //! Valid values are:
223 //! - \b EUSCI_A_SPI_PREVENT_CONFLICTS_WITH_OTHER_MASTERS
224 //! - \b EUSCI_A_SPI_ENABLE_SIGNAL_FOR_4WIRE_SLAVE
225 //!
226 //! Modified bits are \b UCSTEM of \b UCAxCTLW0 register.
227 //!
228 //! \return None
229 //
230 //*****************************************************************************
231 extern void EUSCI_A_SPI_select4PinFunctionality(uint16_t baseAddress,
232  uint16_t select4PinFunctionality);
233 
234 //*****************************************************************************
235 //
236 //! \brief Initializes the SPI Master clock. At the end of this function call,
237 //! SPI module is left enabled.
238 //!
239 //! \param baseAddress is the base address of the EUSCI_A_SPI module.
240 //! \param param is the pointer to struct for master clock setting.
241 //!
242 //! Modified bits are \b UCSWRST of \b UCAxCTLW0 register.
243 //!
244 //! \return None
245 //
246 //*****************************************************************************
247 extern void EUSCI_A_SPI_changeMasterClock(uint16_t baseAddress,
249 
250 //*****************************************************************************
251 //
252 //! \brief Initializes the SPI Slave block.
253 //!
254 //! Upon successful initialization of the SPI slave block, this function will
255 //! have initialized the slave block, but the SPI Slave block still remains
256 //! disabled and must be enabled with EUSCI_A_SPI_enable()
257 //!
258 //! \param baseAddress is the base address of the EUSCI_A_SPI Slave module.
259 //! \param param is the pointer to struct for slave initialization.
260 //!
261 //! Modified bits are \b UCMSB, \b UCMST, \b UC7BIT, \b UCCKPL, \b UCCKPH, \b
262 //! UCMODE and \b UCSWRST of \b UCAxCTLW0 register.
263 //!
264 //! \return STATUS_SUCCESS
265 //
266 //*****************************************************************************
267 extern void EUSCI_A_SPI_initSlave(uint16_t baseAddress,
269 
270 //*****************************************************************************
271 //
272 //! \brief Changes the SPI clock phase and polarity. At the end of this
273 //! function call, SPI module is left enabled.
274 //!
275 //! \param baseAddress is the base address of the EUSCI_A_SPI module.
276 //! \param clockPhase is clock phase select.
277 //! Valid values are:
278 //! - \b EUSCI_A_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT
279 //! [Default]
280 //! - \b EUSCI_A_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT
281 //! \param clockPolarity is clock polarity select
282 //! Valid values are:
283 //! - \b EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_HIGH
284 //! - \b EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_LOW [Default]
285 //!
286 //! Modified bits are \b UCCKPL, \b UCCKPH and \b UCSWRST of \b UCAxCTLW0
287 //! register.
288 //!
289 //! \return None
290 //
291 //*****************************************************************************
292 extern void EUSCI_A_SPI_changeClockPhasePolarity(uint16_t baseAddress,
293  uint16_t clockPhase,
294  uint16_t clockPolarity);
295 
296 //*****************************************************************************
297 //
298 //! \brief Transmits a byte from the SPI Module.
299 //!
300 //! This function will place the supplied data into SPI transmit data register
301 //! to start transmission.
302 //!
303 //! \param baseAddress is the base address of the EUSCI_A_SPI module.
304 //! \param transmitData data to be transmitted from the SPI module
305 //!
306 //! \return None
307 //
308 //*****************************************************************************
309 extern void EUSCI_A_SPI_transmitData(uint16_t baseAddress,
310  uint8_t transmitData);
311 
312 //*****************************************************************************
313 //
314 //! \brief Receives a byte that has been sent to the SPI Module.
315 //!
316 //! This function reads a byte of data from the SPI receive data Register.
317 //!
318 //! \param baseAddress is the base address of the EUSCI_A_SPI module.
319 //!
320 //! \return Returns the byte received from by the SPI module, cast as an
321 //! uint8_t.
322 //
323 //*****************************************************************************
324 extern uint8_t EUSCI_A_SPI_receiveData(uint16_t baseAddress);
325 
326 //*****************************************************************************
327 //
328 //! \brief Enables individual SPI interrupt sources.
329 //!
330 //! Enables the indicated SPI interrupt sources. Only the sources that are
331 //! enabled can be reflected to the processor interrupt; disabled sources have
332 //! no effect on the processor. Does not clear interrupt flags.
333 //!
334 //! \param baseAddress is the base address of the EUSCI_A_SPI module.
335 //! \param mask is the bit mask of the interrupt sources to be enabled.
336 //! Mask value is the logical OR of any of the following:
337 //! - \b EUSCI_A_SPI_TRANSMIT_INTERRUPT
338 //! - \b EUSCI_A_SPI_RECEIVE_INTERRUPT
339 //!
340 //! Modified bits of \b UCAxIFG register and bits of \b UCAxIE register.
341 //!
342 //! \return None
343 //
344 //*****************************************************************************
345 extern void EUSCI_A_SPI_enableInterrupt(uint16_t baseAddress,
346  uint16_t mask);
347 
348 //*****************************************************************************
349 //
350 //! \brief Disables individual SPI interrupt sources.
351 //!
352 //! Disables the indicated SPI interrupt sources. Only the sources that are
353 //! enabled can be reflected to the processor interrupt; disabled sources have
354 //! no effect on the processor.
355 //!
356 //! \param baseAddress is the base address of the EUSCI_A_SPI module.
357 //! \param mask is the bit mask of the interrupt sources to be disabled.
358 //! Mask value is the logical OR of any of the following:
359 //! - \b EUSCI_A_SPI_TRANSMIT_INTERRUPT
360 //! - \b EUSCI_A_SPI_RECEIVE_INTERRUPT
361 //!
362 //! Modified bits of \b UCAxIE register.
363 //!
364 //! \return None
365 //
366 //*****************************************************************************
367 extern void EUSCI_A_SPI_disableInterrupt(uint16_t baseAddress,
368  uint16_t mask);
369 
370 //*****************************************************************************
371 //
372 //! \brief Gets the current SPI interrupt status.
373 //!
374 //! This returns the interrupt status for the SPI module based on which flag is
375 //! passed.
376 //!
377 //! \param baseAddress is the base address of the EUSCI_A_SPI module.
378 //! \param mask is the masked interrupt flag status to be returned.
379 //! Mask value is the logical OR of any of the following:
380 //! - \b EUSCI_A_SPI_TRANSMIT_INTERRUPT
381 //! - \b EUSCI_A_SPI_RECEIVE_INTERRUPT
382 //!
383 //! \return Logical OR of any of the following:
384 //! - \b EUSCI_A_SPI_TRANSMIT_INTERRUPT
385 //! - \b EUSCI_A_SPI_RECEIVE_INTERRUPT
386 //! \n indicating the status of the masked interrupts
387 //
388 //*****************************************************************************
389 extern uint8_t EUSCI_A_SPI_getInterruptStatus(uint16_t baseAddress,
390  uint8_t mask);
391 
392 //*****************************************************************************
393 //
394 //! \brief Clears the selected SPI interrupt status flag.
395 //!
396 //! \param baseAddress is the base address of the EUSCI_A_SPI module.
397 //! \param mask is the masked interrupt flag to be cleared.
398 //! Mask value is the logical OR of any of the following:
399 //! - \b EUSCI_A_SPI_TRANSMIT_INTERRUPT
400 //! - \b EUSCI_A_SPI_RECEIVE_INTERRUPT
401 //!
402 //! Modified bits of \b UCAxIFG register.
403 //!
404 //! \return None
405 //
406 //*****************************************************************************
407 extern void EUSCI_A_SPI_clearInterrupt(uint16_t baseAddress,
408  uint16_t mask);
409 
410 //*****************************************************************************
411 //
412 //! \brief Enables the SPI block.
413 //!
414 //! This will enable operation of the SPI block.
415 //!
416 //! \param baseAddress is the base address of the EUSCI_A_SPI module.
417 //!
418 //! Modified bits are \b UCSWRST of \b UCAxCTLW0 register.
419 //!
420 //! \return None
421 //
422 //*****************************************************************************
423 extern void EUSCI_A_SPI_enable(uint16_t baseAddress);
424 
425 //*****************************************************************************
426 //
427 //! \brief Disables the SPI block.
428 //!
429 //! This will disable operation of the SPI block.
430 //!
431 //! \param baseAddress is the base address of the EUSCI_A_SPI module.
432 //!
433 //! Modified bits are \b UCSWRST of \b UCAxCTLW0 register.
434 //!
435 //! \return None
436 //
437 //*****************************************************************************
438 extern void EUSCI_A_SPI_disable(uint16_t baseAddress);
439 
440 //*****************************************************************************
441 //
442 //! \brief Returns the address of the RX Buffer of the SPI for the DMA module.
443 //!
444 //! Returns the address of the SPI RX Buffer. This can be used in conjunction
445 //! with the DMA to store the received data directly to memory.
446 //!
447 //! \param baseAddress is the base address of the EUSCI_A_SPI module.
448 //!
449 //! \return the address of the RX Buffer
450 //
451 //*****************************************************************************
452 extern uint32_t EUSCI_A_SPI_getReceiveBufferAddress(uint16_t baseAddress);
453 
454 //*****************************************************************************
455 //
456 //! \brief Returns the address of the TX Buffer of the SPI for the DMA module.
457 //!
458 //! Returns the address of the SPI TX Buffer. This can be used in conjunction
459 //! with the DMA to obtain transmitted data directly from memory.
460 //!
461 //! \param baseAddress is the base address of the EUSCI_A_SPI module.
462 //!
463 //! \return the address of the TX Buffer
464 //
465 //*****************************************************************************
466 extern uint32_t EUSCI_A_SPI_getTransmitBufferAddress(uint16_t baseAddress);
467 
468 //*****************************************************************************
469 //
470 //! \brief Indicates whether or not the SPI bus is busy.
471 //!
472 //! This function returns an indication of whether or not the SPI bus is
473 //! busy.This function checks the status of the bus via UCBBUSY bit
474 //!
475 //! \param baseAddress is the base address of the EUSCI_A_SPI module.
476 //!
477 //! \return One of the following:
478 //! - \b EUSCI_A_SPI_BUSY
479 //! - \b EUSCI_A_SPI_NOT_BUSY
480 //! \n indicating if the EUSCI_A_SPI is busy
481 //
482 //*****************************************************************************
483 extern uint16_t EUSCI_A_SPI_isBusy(uint16_t baseAddress);
484 
485 //*****************************************************************************
486 //
487 // Mark the end of the C bindings section for C++ compilers.
488 //
489 //*****************************************************************************
490 #ifdef __cplusplus
491 }
492 #endif
493 
494 #endif
495 #endif // __MSP430WARE_EUSCI_A_SPI_H__
void EUSCI_A_SPI_clearInterrupt(uint16_t baseAddress, uint16_t mask)
Clears the selected SPI interrupt status flag.
Definition: eusci_a_spi.c:155
uint8_t EUSCI_A_SPI_getInterruptStatus(uint16_t baseAddress, uint8_t mask)
Gets the current SPI interrupt status.
Definition: eusci_a_spi.c:148
uint16_t spiMode
Definition: eusci_a_spi.h:65
void EUSCI_A_SPI_initMaster(uint16_t baseAddress, EUSCI_A_SPI_initMasterParam *param)
Initializes the SPI Master block.
Definition: eusci_a_spi.c:21
void EUSCI_A_SPI_changeClockPhasePolarity(uint16_t baseAddress, uint16_t clockPhase, uint16_t clockPolarity)
Changes the SPI clock phase and polarity. At the end of this function call, SPI module is left enable...
Definition: eusci_a_spi.c:103
uint16_t clockPhase
Definition: eusci_a_spi.h:54
Used in the EUSCI_A_SPI_changeMasterClock() function as the param parameter.
Definition: eusci_a_spi.h:32
Used in the EUSCI_A_SPI_initMaster() function as the param parameter.
Definition: eusci_a_spi.h:74
uint32_t desiredSpiClock
Is the desired clock rate in Hz for SPI communication.
Definition: eusci_a_spi.h:84
uint16_t msbFirst
Definition: eusci_a_spi.h:89
uint32_t EUSCI_A_SPI_getTransmitBufferAddress(uint16_t baseAddress)
Returns the address of the TX Buffer of the SPI for the DMA module.
Definition: eusci_a_spi.c:179
void EUSCI_A_SPI_initSlave(uint16_t baseAddress, EUSCI_A_SPI_initSlaveParam *param)
Initializes the SPI Slave block.
Definition: eusci_a_spi.c:80
uint32_t clockSourceFrequency
Is the frequency of the selected clock source in Hz.
Definition: eusci_a_spi.h:82
void EUSCI_A_SPI_enableInterrupt(uint16_t baseAddress, uint16_t mask)
Enables individual SPI interrupt sources.
Definition: eusci_a_spi.c:134
uint16_t clockPolarity
Definition: eusci_a_spi.h:59
uint16_t msbFirst
Definition: eusci_a_spi.h:49
uint16_t spiMode
Definition: eusci_a_spi.h:105
uint32_t desiredSpiClock
Is the desired clock rate in Hz for SPI communication.
Definition: eusci_a_spi.h:36
void EUSCI_A_SPI_disableInterrupt(uint16_t baseAddress, uint16_t mask)
Disables individual SPI interrupt sources.
Definition: eusci_a_spi.c:141
Used in the EUSCI_A_SPI_initSlave() function as the param parameter.
Definition: eusci_a_spi.h:44
uint32_t EUSCI_A_SPI_getReceiveBufferAddress(uint16_t baseAddress)
Returns the address of the RX Buffer of the SPI for the DMA module.
Definition: eusci_a_spi.c:174
uint16_t clockPhase
Definition: eusci_a_spi.h:94
uint16_t EUSCI_A_SPI_isBusy(uint16_t baseAddress)
Indicates whether or not the SPI bus is busy.
Definition: eusci_a_spi.c:184
uint8_t selectClockSource
Definition: eusci_a_spi.h:80
uint8_t EUSCI_A_SPI_receiveData(uint16_t baseAddress)
Receives a byte that has been sent to the SPI Module.
Definition: eusci_a_spi.c:129
void EUSCI_A_SPI_disable(uint16_t baseAddress)
Disables the SPI block.
Definition: eusci_a_spi.c:168
void EUSCI_A_SPI_transmitData(uint16_t baseAddress, uint8_t transmitData)
Transmits a byte from the SPI Module.
Definition: eusci_a_spi.c:122
void EUSCI_A_SPI_changeMasterClock(uint16_t baseAddress, EUSCI_A_SPI_changeMasterClockParam *param)
Initializes the SPI Master clock. At the end of this function call, SPI module is left enabled...
Definition: eusci_a_spi.c:67
uint16_t clockPolarity
Definition: eusci_a_spi.h:99
void EUSCI_A_SPI_select4PinFunctionality(uint16_t baseAddress, uint16_t select4PinFunctionality)
Selects 4Pin Functionality.
Definition: eusci_a_spi.c:59
uint32_t clockSourceFrequency
Is the frequency of the selected clock source in Hz.
Definition: eusci_a_spi.h:34
void EUSCI_A_SPI_enable(uint16_t baseAddress)
Enables the SPI block.
Definition: eusci_a_spi.c:162

Copyright 2020, Texas Instruments Incorporated