7 #ifndef __MSP430WARE_EUSCI_B_SPI_H__
8 #define __MSP430WARE_EUSCI_B_SPI_H__
10 #include "inc/hw_memmap.h"
12 #ifdef __MSP430_HAS_EUSCI_Bx__
25 #include "inc/hw_memmap.h"
115 #define EUSCI_B_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT 0x00
116 #define EUSCI_B_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT UCCKPH
124 #define EUSCI_B_SPI_MSB_FIRST UCMSB
125 #define EUSCI_B_SPI_LSB_FIRST 0x00
135 #define EUSCI_B_SPI_CLOCKPOLARITY_INACTIVITY_HIGH UCCKPL
136 #define EUSCI_B_SPI_CLOCKPOLARITY_INACTIVITY_LOW 0x00
144 #define EUSCI_B_SPI_CLOCKSOURCE_MODCLK UCSSEL__MODCLK
145 #define EUSCI_B_SPI_CLOCKSOURCE_SMCLK UCSSEL__SMCLK
153 #define EUSCI_B_SPI_3PIN UCMODE_0
154 #define EUSCI_B_SPI_4PIN_UCxSTE_ACTIVE_HIGH UCMODE_1
155 #define EUSCI_B_SPI_4PIN_UCxSTE_ACTIVE_LOW UCMODE_2
163 #define EUSCI_B_SPI_PREVENT_CONFLICTS_WITH_OTHER_MASTERS 0x00
164 #define EUSCI_B_SPI_ENABLE_SIGNAL_FOR_4WIRE_SLAVE UCSTEM
174 #define EUSCI_B_SPI_TRANSMIT_INTERRUPT UCTXIE
175 #define EUSCI_B_SPI_RECEIVE_INTERRUPT UCRXIE
183 #define EUSCI_B_SPI_BUSY UCBUSY
184 #define EUSCI_B_SPI_NOT_BUSY 0x00
231 uint8_t select4PinFunctionality);
293 uint16_t clockPolarity);
309 uint8_t transmitData);
494 #endif // __MSP430WARE_EUSCI_B_SPI_H__
void EUSCI_B_SPI_enableInterrupt(uint16_t baseAddress, uint8_t mask)
Enables individual SPI interrupt sources.
Definition: eusci_b_spi.c:131
uint16_t spiMode
Definition: eusci_b_spi.h:91
void EUSCI_B_SPI_disable(uint16_t baseAddress)
Disables the SPI block.
Definition: eusci_b_spi.c:165
void EUSCI_B_SPI_select4PinFunctionality(uint16_t baseAddress, uint8_t select4PinFunctionality)
Selects 4Pin Functionality.
Definition: eusci_b_spi.c:57
uint16_t msbFirst
Definition: eusci_b_spi.h:75
void EUSCI_B_SPI_enable(uint16_t baseAddress)
Enables the SPI block.
Definition: eusci_b_spi.c:159
uint8_t EUSCI_B_SPI_receiveData(uint16_t baseAddress)
Receives a byte that has been sent to the SPI Module.
Definition: eusci_b_spi.c:126
uint32_t clockSourceFrequency
Is the frequency of the selected clock source.
Definition: eusci_b_spi.h:39
uint16_t EUSCI_B_SPI_isBusy(uint16_t baseAddress)
Indicates whether or not the SPI bus is busy.
Definition: eusci_b_spi.c:181
void EUSCI_B_SPI_disableInterrupt(uint16_t baseAddress, uint8_t mask)
Disables individual SPI interrupt sources.
Definition: eusci_b_spi.c:138
void EUSCI_B_SPI_initSlave(uint16_t baseAddress, EUSCI_B_SPI_initSlaveParam *param)
Initializes the SPI Slave block.
Definition: eusci_b_spi.c:77
Used in the EUSCI_B_SPI_initMaster() function as the param parameter.
Definition: eusci_b_spi.h:32
Used in the EUSCI_B_SPI_changeMasterClock() function as the param parameter.
Definition: eusci_b_spi.h:100
uint32_t clockSourceFrequency
Is the frequency of the selected clock source.
Definition: eusci_b_spi.h:102
uint16_t clockPhase
Definition: eusci_b_spi.h:51
uint8_t selectClockSource
Definition: eusci_b_spi.h:37
void EUSCI_B_SPI_changeMasterClock(uint16_t baseAddress, EUSCI_B_SPI_changeMasterClockParam *param)
Initializes the SPI Master clock. At the end of this function call, SPI module is left enabled...
Definition: eusci_b_spi.c:65
uint32_t desiredSpiClock
Is the desired clock rate for SPI communication.
Definition: eusci_b_spi.h:104
void EUSCI_B_SPI_clearInterrupt(uint16_t baseAddress, uint8_t mask)
Clears the selected SPI interrupt status flag.
Definition: eusci_b_spi.c:152
uint16_t clockPolarity
Definition: eusci_b_spi.h:56
void EUSCI_B_SPI_initMaster(uint16_t baseAddress, EUSCI_B_SPI_initMasterParam *param)
Initializes the SPI Master block.
Definition: eusci_b_spi.c:21
void EUSCI_B_SPI_transmitData(uint16_t baseAddress, uint8_t transmitData)
Transmits a byte from the SPI Module.
Definition: eusci_b_spi.c:119
void EUSCI_B_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_b_spi.c:100
Used in the EUSCI_B_SPI_initSlave() function as the param parameter.
Definition: eusci_b_spi.h:70
uint32_t EUSCI_B_SPI_getReceiveBufferAddress(uint16_t baseAddress)
Returns the address of the RX Buffer of the SPI for the DMA module.
Definition: eusci_b_spi.c:171
uint16_t msbFirst
Definition: eusci_b_spi.h:46
uint32_t desiredSpiClock
Is the desired clock rate for SPI communication.
Definition: eusci_b_spi.h:41
uint8_t EUSCI_B_SPI_getInterruptStatus(uint16_t baseAddress, uint8_t mask)
Gets the current SPI interrupt status.
Definition: eusci_b_spi.c:145
uint16_t spiMode
Definition: eusci_b_spi.h:62
uint16_t clockPhase
Definition: eusci_b_spi.h:80
uint32_t EUSCI_B_SPI_getTransmitBufferAddress(uint16_t baseAddress)
Returns the address of the TX Buffer of the SPI for the DMA module.
Definition: eusci_b_spi.c:176
uint16_t clockPolarity
Definition: eusci_b_spi.h:85