7 #ifndef __MSP430WARE_EUSCI_A_SPI_H__ 8 #define __MSP430WARE_EUSCI_A_SPI_H__ 10 #include "inc/hw_memmap.h" 12 #ifdef __MSP430_HAS_EUSCI_Ax__ 25 #include "inc/hw_memmap.h" 118 #define EUSCI_A_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT 0x00 119 #define EUSCI_A_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT UCCKPH 127 #define EUSCI_A_SPI_MSB_FIRST UCMSB 128 #define EUSCI_A_SPI_LSB_FIRST 0x00 138 #define EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_HIGH UCCKPL 139 #define EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_LOW 0x00 147 #define EUSCI_A_SPI_CLOCKSOURCE_UCLK UCSSEL__UCLK 148 #define EUSCI_A_SPI_CLOCKSOURCE_ACLK 0x40 149 #define EUSCI_A_SPI_CLOCKSOURCE_MODCLK 0x40 150 #define EUSCI_A_SPI_CLOCKSOURCE_SMCLK UCSSEL__SMCLK 158 #define EUSCI_A_SPI_3PIN UCMODE_0 159 #define EUSCI_A_SPI_4PIN_UCxSTE_ACTIVE_HIGH UCMODE_1 160 #define EUSCI_A_SPI_4PIN_UCxSTE_ACTIVE_LOW UCMODE_2 168 #define EUSCI_A_SPI_PREVENT_CONFLICTS_WITH_OTHER_MASTERS 0x0000 169 #define EUSCI_A_SPI_ENABLE_SIGNAL_FOR_4WIRE_SLAVE UCSTEM 179 #define EUSCI_A_SPI_TRANSMIT_INTERRUPT UCTXIE 180 #define EUSCI_A_SPI_RECEIVE_INTERRUPT UCRXIE 188 #define EUSCI_A_SPI_BUSY UCBUSY 189 #define EUSCI_A_SPI_NOT_BUSY 0x00 197 #define EUSCI_A_SPI_REMAP_PINS_FALSE (0x0000) 198 #define EUSCI_A_SPI_REMAP_PINS_TRUE (USCIARMP) 245 uint16_t select4PinFunctionality);
307 uint16_t clockPolarity);
323 uint8_t transmitData);
526 #define EUSCI_A_SPI_REMAP_PINS_1 EUSCI_A_SPI_REMAP_PINS_FALSE 527 #define EUSCI_A_SPI_REMAP_PINS_2 EUSCI_A_SPI_REMAP_PINS_TRUE 539 #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
void EUSCI_A_SPI_remapPins(uint16_t baseAddress, uint8_t pinsSelect)
Remaps eUSCI_A GPIO pins.
Definition: eusci_a_spi.c:190
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:86
uint16_t msbFirst
Definition: eusci_a_spi.h:91
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:84
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:107
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:96
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:82
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:101
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