29 #define EUSCI_SPI_CLOCKSOURCE_ACLK UCSSEL__ACLK
30 #define EUSCI_SPI_CLOCKSOURCE_SMCLK UCSSEL__SMCLK
32 #define EUSCI_SPI_MSB_FIRST UCMSB
33 #define EUSCI_SPI_LSB_FIRST 0x00
35 #define EUSCI_SPI_BUSY UCBUSY
36 #define EUSCI_SPI_NOT_BUSY 0x00
38 #define EUSCI_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT 0x00
39 #define EUSCI_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT UCCKPH
41 #define EUSCI_SPI_3PIN UCMODE_0
42 #define EUSCI_SPI_4PIN_UCxSTE_ACTIVE_HIGH UCMODE_1
43 #define EUSCI_SPI_4PIN_UCxSTE_ACTIVE_LOW UCMODE_2
45 #define EUSCI_SPI_CLOCKPOLARITY_INACTIVITY_HIGH UCCKPL
46 #define EUSCI_SPI_CLOCKPOLARITY_INACTIVITY_LOW 0x00
48 #define EUSCI_SPI_TRANSMIT_INTERRUPT UCTXIE
49 #define EUSCI_SPI_RECEIVE_INTERRUPT UCRXIE
51 #define EUSCI_SPI_ENABLE_SIGNAL_FOR_4WIRE_SLAVE UCSTEM
52 #define EUSCI_SPI_PREVENT_CONFLICTS_WITH_OTHER_MASTERS 0x00
176 uint_fast8_t select4PinFunctionality);
204 uint32_t clockSourceFrequency, uint32_t desiredSpiClock);
289 uint_fast16_t clockPhase, uint_fast16_t clockPolarity);
317 uint_fast8_t transmitData);
463 extern uint_fast8_t
SPI_isBusy(uint32_t moduleInstance);
641 void (*intHandler)(
void));
671 #define EUSCI_B_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT 0x00
672 #define EUSCI_B_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT UCCKPH
674 #define EUSCI_B_SPI_MSB_FIRST UCMSB
675 #define EUSCI_B_SPI_LSB_FIRST 0x00
677 #define EUSCI_B_SPI_CLOCKPOLARITY_INACTIVITY_HIGH UCCKPL
678 #define EUSCI_B_SPI_CLOCKPOLARITY_INACTIVITY_LOW 0x00
680 #define EUSCI_B_SPI_CLOCKSOURCE_ACLK UCSSEL__ACLK
681 #define EUSCI_B_SPI_CLOCKSOURCE_SMCLK UCSSEL__SMCLK
683 #define EUSCI_B_SPI_3PIN UCMODE_0
684 #define EUSCI_B_SPI_4PIN_UCxSTE_ACTIVE_HIGH UCMODE_1
685 #define EUSCI_B_SPI_4PIN_UCxSTE_ACTIVE_LOW UCMODE_2
687 #define EUSCI_B_SPI_PREVENT_CONFLICTS_WITH_OTHER_MASTERS 0x00
688 #define EUSCI_B_SPI_ENABLE_SIGNAL_FOR_4WIRE_SLAVE UCSTEM
690 #define EUSCI_B_SPI_TRANSMIT_INTERRUPT UCTXIE
691 #define EUSCI_B_SPI_RECEIVE_INTERRUPT UCRXIE
693 #define EUSCI_B_SPI_BUSY UCBUSY
694 #define EUSCI_B_SPI_NOT_BUSY 0x00
696 #define EUSCI_A_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT 0x00
697 #define EUSCI_A_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT UCCKPH
699 #define EUSCI_A_SPI_MSB_FIRST UCMSB
700 #define EUSCI_A_SPI_LSB_FIRST 0x00
702 #define EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_HIGH UCCKPL
703 #define EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_LOW 0x00
705 #define EUSCI_A_SPI_CLOCKSOURCE_ACLK UCSSEL__ACLK
706 #define EUSCI_A_SPI_CLOCKSOURCE_SMCLK UCSSEL__SMCLK
708 #define EUSCI_A_SPI_3PIN UCMODE_0
709 #define EUSCI_A_SPI_4PIN_UCxSTE_ACTIVE_HIGH UCMODE_1
710 #define EUSCI_A_SPI_4PIN_UCxSTE_ACTIVE_LOW UCMODE_2
712 #define EUSCI_A_SPI_PREVENT_CONFLICTS_WITH_OTHER_MASTERS 0x00
713 #define EUSCI_A_SPI_ENABLE_SIGNAL_FOR_4WIRE_SLAVE UCSTEM
715 #define EUSCI_A_SPI_TRANSMIT_INTERRUPT UCTXIE
716 #define EUSCI_A_SPI_RECEIVE_INTERRUPT UCRXIE
718 #define EUSCI_A_SPI_BUSY UCBUSY
719 #define EUSCI_A_SPI_NOT_BUSY 0x00
722 uint8_t select4PinFunctionality);
724 uint32_t clockSourceFrequency, uint32_t desiredSpiClock);
726 uint16_t clockPhase, uint16_t clockPolarity, uint16_t spiMode);
728 uint16_t clockPhase, uint16_t clockPolarity);
730 uint8_t transmitData);
741 uint32_t baseAddress);
744 uint8_t select4PinFunctionality);
746 uint32_t clockSourceFrequency, uint32_t desiredSpiClock);
748 uint16_t clockPhase, uint16_t clockPolarity, uint16_t spiMode);
750 uint16_t clockPhase, uint16_t clockPolarity);
752 uint8_t transmitData);
763 uint32_t baseAddress);
void EUSCI_A_SPI_clearInterruptFlag(uint32_t baseAddress, uint8_t mask)
Clears the selected SPI interrupt status flag.
Definition: spi.c:1229
uint8_t EUSCI_A_SPI_receiveData(uint32_t baseAddress)
Receives a byte that has been sent to the SPI Module.
Definition: spi.c:1122
void EUSCI_A_SPI_enableInterrupt(uint32_t baseAddress, uint8_t mask)
Enables individual SPI interrupt sources.
Definition: spi.c:1146
void SPI_registerInterrupt(uint32_t moduleInstance, void(*intHandler)(void))
Definition: spi.c:406
uint32_t clockSourceFrequency
Definition: spi.h:67
bool SPI_initMaster(uint32_t moduleInstance, const SPI_MasterConfig *config)
Definition: spi.c:21
uint32_t SPI_getReceiveBufferAddressForDMA(uint32_t moduleInstance)
Definition: spi.c:307
void EUSCI_A_SPI_enable(uint32_t baseAddress)
Enables the SPI block.
Definition: spi.c:1252
bool EUSCI_B_SPI_isBusy(uint32_t baseAddress)
Indicates whether or not the SPI bus is busy.
Definition: spi.c:912
bool SPI_initSlave(uint32_t moduleInstance, const SPI_SlaveConfig *config)
Definition: spi.c:166
Configuration structure for master mode in the SPI module. See SPI_initMaster for parameter documenta...
Definition: spi.h:64
void SPI_changeMasterClock(uint32_t moduleInstance, uint32_t clockSourceFrequency, uint32_t desiredSpiClock)
Definition: spi.c:151
void EUSCI_B_SPI_transmitData(uint32_t baseAddress, uint8_t transmitData)
Transmits a byte from the SPI Module.
Definition: spi.c:694
uint_fast16_t clockPolarity
Definition: spi.h:89
uint_fast16_t clockPhase
Definition: spi.h:88
void EUSCI_B_SPI_disable(uint32_t baseAddress)
Disables the SPI block.
Definition: spi.c:860
void SPI_disableModule(uint32_t moduleInstance)
Definition: spi.c:295
void EUSCI_A_SPI_select4PinFunctionality(uint32_t baseAddress, uint8_t select4PinFunctionality)
Selects 4Pin Functionality.
Definition: spi.c:936
void SPI_enableInterrupt(uint32_t moduleInstance, uint_fast8_t mask)
Definition: spi.c:343
void EUSCI_A_SPI_disableInterrupt(uint32_t baseAddress, uint8_t mask)
Disables individual SPI interrupt sources.
Definition: spi.c:1175
void EUSCI_B_SPI_masterChangeClock(uint32_t baseAddress, uint32_t clockSourceFrequency, uint32_t desiredSpiClock)
Initializes the SPI Master clock. At the end of this function call, SPI module is left enabled...
Definition: spi.c:552
uint_fast16_t spiMode
Definition: spi.h:72
void EUSCI_B_SPI_changeClockPhasePolarity(uint32_t baseAddress, uint16_t clockPhase, uint16_t clockPolarity)
Changes the SPI colock phase and polarity. At the end of this function call, SPI module is left enabl...
Definition: spi.c:656
void EUSCI_B_SPI_enable(uint32_t baseAddress)
Enables the SPI block.
Definition: spi.c:841
void SPI_enableModule(uint32_t moduleInstance)
Definition: spi.c:283
void SPI_unregisterInterrupt(uint32_t moduleInstance)
Definition: spi.c:455
void EUSCI_A_SPI_changeClockPhasePolarity(uint32_t baseAddress, uint16_t clockPhase, uint16_t clockPolarity)
Changes the SPI colock phase and polarity. At the end of this function call, SPI module is left enabl...
Definition: spi.c:1067
uint_fast16_t clockPhase
Definition: spi.h:70
void SPI_clearInterruptFlag(uint32_t moduleInstance, uint_fast8_t mask)
Definition: spi.c:394
uint_fast8_t SPI_getInterruptStatus(uint32_t moduleInstance)
Definition: spi.c:367
void EUSCI_A_SPI_disable(uint32_t baseAddress)
Disables the SPI block.
Definition: spi.c:1271
void SPI_changeClockPhasePolarity(uint32_t moduleInstance, uint_fast16_t clockPhase, uint_fast16_t clockPolarity)
Definition: spi.c:244
void SPI_transmitData(uint32_t moduleInstance, uint_fast8_t transmitData)
Definition: spi.c:259
struct _SPI_MasterConfig SPI_MasterConfig
Type definition for _SPI_MasterConfig structure.
void SPI_disableInterrupt(uint32_t moduleInstance, uint_fast8_t mask)
Definition: spi.c:355
uint_fast8_t selectClockSource
Definition: spi.h:66
uint32_t EUSCI_B_SPI_getTransmitBufferAddressForDMA(uint32_t baseAddress)
Returns the address of the TX Buffer of the SPI for the DMA module.
Definition: spi.c:895
uint_fast16_t clockPolarity
Definition: spi.h:71
bool EUSCI_B_SPI_slaveInit(uint32_t baseAddress, uint16_t msbFirst, uint16_t clockPhase, uint16_t clockPolarity, uint16_t spiMode)
Initializes the SPI Slave block.
Definition: spi.c:600
void SPI_selectFourPinFunctionality(uint32_t moduleInstance, uint_fast8_t select4PinFunctionality)
Definition: spi.c:136
void EUSCI_B_SPI_select4PinFunctionality(uint32_t baseAddress, uint8_t select4PinFunctionality)
Selects 4Pin Functionality.
Definition: spi.c:525
uint8_t SPI_receiveData(uint32_t moduleInstance)
Definition: spi.c:271
uint_fast16_t spiMode
Definition: spi.h:90
struct _SPI_SlaveConfig SPI_SlaveConfig
Type definition for _SPI_SlaveConfig structure.
uint_fast8_t SPI_getEnabledInterruptStatus(uint32_t moduleInstance)
Definition: spi.c:381
bool EUSCI_A_SPI_slaveInit(uint32_t baseAddress, uint16_t msbFirst, uint16_t clockPhase, uint16_t clockPolarity, uint16_t spiMode)
Initializes the SPI Slave block.
Definition: spi.c:1011
Configuration structure for slave mode in the SPI module. See SPI_initSlave for parameter documentati...
Definition: spi.h:85
uint32_t SPI_getTransmitBufferAddressForDMA(uint32_t moduleInstance)
Definition: spi.c:319
void EUSCI_B_SPI_clearInterruptFlag(uint32_t baseAddress, uint8_t mask)
Clears the selected SPI interrupt status flag.
Definition: spi.c:818
uint8_t EUSCI_B_SPI_receiveData(uint32_t baseAddress)
Receives a byte that has been sent to the SPI Module.
Definition: spi.c:711
uint_fast16_t msbFirst
Definition: spi.h:87
uint32_t EUSCI_A_SPI_getTransmitBufferAddressForDMA(uint32_t baseAddress)
Returns the address of the TX Buffer of the SPI for the DMA module.
Definition: spi.c:1306
void EUSCI_B_SPI_enableInterrupt(uint32_t baseAddress, uint8_t mask)
Enables individual SPI interrupt sources.
Definition: spi.c:735
uint32_t EUSCI_B_SPI_getReceiveBufferAddressForDMA(uint32_t baseAddress)
Returns the address of the RX Buffer of the SPI for the DMA module.
Definition: spi.c:878
uint8_t EUSCI_B_SPI_getInterruptStatus(uint32_t baseAddress, uint8_t mask)
Gets the current SPI interrupt status.
Definition: spi.c:793
uint_fast8_t SPI_isBusy(uint32_t moduleInstance)
Definition: spi.c:331
uint8_t EUSCI_A_SPI_getInterruptStatus(uint32_t baseAddress, uint8_t mask)
Gets the current SPI interrupt status.
Definition: spi.c:1204
void EUSCI_A_SPI_masterChangeClock(uint32_t baseAddress, uint32_t clockSourceFrequency, uint32_t desiredSpiClock)
Initializes the SPI Master clock. At the end of this function call, SPI module is left enabled...
Definition: spi.c:963
uint32_t EUSCI_A_SPI_getReceiveBufferAddressForDMA(uint32_t baseAddress)
Returns the address of the RX Buffer of the SPI for the DMA module.
Definition: spi.c:1289
uint32_t desiredSpiClock
Definition: spi.h:68
bool EUSCI_A_SPI_isBusy(uint32_t baseAddress)
Indicates whether or not the SPI bus is busy.
Definition: spi.c:1322
void EUSCI_A_SPI_transmitData(uint32_t baseAddress, uint8_t transmitData)
Transmits a byte from the SPI Module.
Definition: spi.c:1105
uint_fast16_t msbFirst
Definition: spi.h:69
void EUSCI_B_SPI_disableInterrupt(uint32_t baseAddress, uint8_t mask)
Disables individual SPI interrupt sources.
Definition: spi.c:764