28 #define EUSCI_SPI_CLOCKSOURCE_ACLK EUSCI_B_CTLW0_SSEL__ACLK
29 #define EUSCI_SPI_CLOCKSOURCE_SMCLK EUSCI_B_CTLW0_SSEL__SMCLK
31 #define EUSCI_SPI_MSB_FIRST EUSCI_B_CTLW0_MSB
32 #define EUSCI_SPI_LSB_FIRST 0x00
34 #define EUSCI_SPI_BUSY EUSCI_A_STATW_BUSY
35 #define EUSCI_SPI_NOT_BUSY 0x00
37 #define EUSCI_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT 0x00
38 #define EUSCI_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT EUSCI_B_CTLW0_CKPH
40 #define EUSCI_SPI_3PIN EUSCI_B_CTLW0_MODE_0
41 #define EUSCI_SPI_4PIN_UCxSTE_ACTIVE_HIGH EUSCI_B_CTLW0_MODE_1
42 #define EUSCI_SPI_4PIN_UCxSTE_ACTIVE_LOW EUSCI_B_CTLW0_MODE_2
44 #define EUSCI_SPI_CLOCKPOLARITY_INACTIVITY_HIGH EUSCI_B_CTLW0_CKPL
45 #define EUSCI_SPI_CLOCKPOLARITY_INACTIVITY_LOW 0x00
47 #define EUSCI_SPI_TRANSMIT_INTERRUPT EUSCI_B__TXIE
48 #define EUSCI_SPI_RECEIVE_INTERRUPT EUSCI_B__RXIE
50 #define EUSCI_SPI_ENABLE_SIGNAL_FOR_4WIRE_SLAVE EUSCI_B_CTLW0_STEM
51 #define EUSCI_SPI_PREVENT_CONFLICTS_WITH_OTHER_MASTERS 0x00
175 uint_fast8_t select4PinFunctionality);
203 uint32_t clockSourceFrequency, uint32_t desiredSpiClock);
288 uint_fast16_t clockPhase, uint_fast16_t clockPolarity);
316 uint_fast8_t transmitData);
462 extern uint_fast8_t
SPI_isBusy(uint32_t moduleInstance);
644 void (*intHandler)(
void));
674 #define EUSCI_B_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT 0x00
675 #define EUSCI_B_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT UCCKPH
677 #define EUSCI_B_SPI_MSB_FIRST UCMSB
678 #define EUSCI_B_SPI_LSB_FIRST 0x00
680 #define EUSCI_B_SPI_CLOCKPOLARITY_INACTIVITY_HIGH UCCKPL
681 #define EUSCI_B_SPI_CLOCKPOLARITY_INACTIVITY_LOW 0x00
683 #define EUSCI_B_SPI_CLOCKSOURCE_ACLK UCSSEL__ACLK
684 #define EUSCI_B_SPI_CLOCKSOURCE_SMCLK UCSSEL__SMCLK
686 #define EUSCI_B_SPI_3PIN UCMODE_0
687 #define EUSCI_B_SPI_4PIN_UCxSTE_ACTIVE_HIGH UCMODE_1
688 #define EUSCI_B_SPI_4PIN_UCxSTE_ACTIVE_LOW UCMODE_2
690 #define EUSCI_B_SPI_PREVENT_CONFLICTS_WITH_OTHER_MASTERS 0x00
691 #define EUSCI_B_SPI_ENABLE_SIGNAL_FOR_4WIRE_SLAVE UCSTEM
693 #define EUSCI_B_SPI_TRANSMIT_INTERRUPT UCTXIE
694 #define EUSCI_B_SPI_RECEIVE_INTERRUPT UCRXIE
696 #define EUSCI_B_SPI_BUSY UCBUSY
697 #define EUSCI_B_SPI_NOT_BUSY 0x00
699 #define EUSCI_A_SPI_PHASE_DATA_CHANGED_ONFIRST_CAPTURED_ON_NEXT 0x00
700 #define EUSCI_A_SPI_PHASE_DATA_CAPTURED_ONFIRST_CHANGED_ON_NEXT UCCKPH
702 #define EUSCI_A_SPI_MSB_FIRST UCMSB
703 #define EUSCI_A_SPI_LSB_FIRST 0x00
705 #define EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_HIGH UCCKPL
706 #define EUSCI_A_SPI_CLOCKPOLARITY_INACTIVITY_LOW 0x00
708 #define EUSCI_A_SPI_CLOCKSOURCE_ACLK UCSSEL__ACLK
709 #define EUSCI_A_SPI_CLOCKSOURCE_SMCLK UCSSEL__SMCLK
711 #define EUSCI_A_SPI_3PIN UCMODE_0
712 #define EUSCI_A_SPI_4PIN_UCxSTE_ACTIVE_HIGH UCMODE_1
713 #define EUSCI_A_SPI_4PIN_UCxSTE_ACTIVE_LOW UCMODE_2
715 #define EUSCI_A_SPI_PREVENT_CONFLICTS_WITH_OTHER_MASTERS 0x00
716 #define EUSCI_A_SPI_ENABLE_SIGNAL_FOR_4WIRE_SLAVE UCSTEM
718 #define EUSCI_A_SPI_TRANSMIT_INTERRUPT UCTXIE
719 #define EUSCI_A_SPI_RECEIVE_INTERRUPT UCRXIE
721 #define EUSCI_A_SPI_BUSY UCBUSY
722 #define EUSCI_A_SPI_NOT_BUSY 0x00
725 uint8_t select4PinFunctionality);
727 uint32_t clockSourceFrequency, uint32_t desiredSpiClock);
729 uint16_t clockPhase, uint16_t clockPolarity, uint16_t spiMode);
731 uint16_t clockPhase, uint16_t clockPolarity);
733 uint8_t transmitData);
744 uint32_t baseAddress);
747 uint8_t select4PinFunctionality);
749 uint32_t clockSourceFrequency, uint32_t desiredSpiClock);
751 uint16_t clockPhase, uint16_t clockPolarity, uint16_t spiMode);
753 uint16_t clockPhase, uint16_t clockPolarity);
755 uint8_t transmitData);
766 uint32_t baseAddress);
bool SPI_initMaster(uint32_t moduleInstance, const eUSCI_SPI_MasterConfig *config)
Definition: spi.c:21
uint_fast16_t clockPhase
Definition: spi.h:87
uint_fast8_t selectClockSource
Definition: spi.h:65
Type definition for _eUSCI_SPI_SlaveConfig structure.
Definition: spi.h:84
void EUSCI_A_SPI_clearInterruptFlag(uint32_t baseAddress, uint8_t mask)
Clears the selected SPI interrupt status flag.
Definition: spi.c:1238
uint8_t EUSCI_A_SPI_receiveData(uint32_t baseAddress)
Receives a byte that has been sent to the SPI Module.
Definition: spi.c:1131
bool SPI_initSlave(uint32_t moduleInstance, const eUSCI_SPI_SlaveConfig *config)
Definition: spi.c:173
void EUSCI_A_SPI_enableInterrupt(uint32_t baseAddress, uint8_t mask)
Enables individual SPI interrupt sources.
Definition: spi.c:1155
void SPI_registerInterrupt(uint32_t moduleInstance, void(*intHandler)(void))
Definition: spi.c:415
uint32_t SPI_getReceiveBufferAddressForDMA(uint32_t moduleInstance)
Definition: spi.c:314
void EUSCI_A_SPI_enable(uint32_t baseAddress)
Enables the SPI block.
Definition: spi.c:1261
bool EUSCI_B_SPI_isBusy(uint32_t baseAddress)
Indicates whether or not the SPI bus is busy.
Definition: spi.c:921
void SPI_changeMasterClock(uint32_t moduleInstance, uint32_t clockSourceFrequency, uint32_t desiredSpiClock)
Definition: spi.c:158
void EUSCI_B_SPI_transmitData(uint32_t baseAddress, uint8_t transmitData)
Transmits a byte from the SPI Module.
Definition: spi.c:703
void EUSCI_B_SPI_disable(uint32_t baseAddress)
Disables the SPI block.
Definition: spi.c:869
void SPI_disableModule(uint32_t moduleInstance)
Definition: spi.c:302
void EUSCI_A_SPI_select4PinFunctionality(uint32_t baseAddress, uint8_t select4PinFunctionality)
Selects 4Pin Functionality.
Definition: spi.c:945
uint_fast8_t SPI_getInterruptStatus(uint32_t moduleInstance, uint16_t mask)
Definition: spi.c:374
struct _eUSCI_SPI_SlaveConfig eUSCI_SPI_SlaveConfig
void SPI_enableInterrupt(uint32_t moduleInstance, uint_fast8_t mask)
Definition: spi.c:350
void EUSCI_A_SPI_disableInterrupt(uint32_t baseAddress, uint8_t mask)
Disables individual SPI interrupt sources.
Definition: spi.c:1184
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:561
uint_fast16_t clockPhase
Definition: spi.h:69
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:665
void EUSCI_B_SPI_enable(uint32_t baseAddress)
Enables the SPI block.
Definition: spi.c:850
void SPI_enableModule(uint32_t moduleInstance)
Definition: spi.c:290
void SPI_unregisterInterrupt(uint32_t moduleInstance)
Definition: spi.c:464
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:1076
void SPI_clearInterruptFlag(uint32_t moduleInstance, uint_fast8_t mask)
Definition: spi.c:403
void EUSCI_A_SPI_disable(uint32_t baseAddress)
Disables the SPI block.
Definition: spi.c:1280
void SPI_changeClockPhasePolarity(uint32_t moduleInstance, uint_fast16_t clockPhase, uint_fast16_t clockPolarity)
Definition: spi.c:251
void SPI_transmitData(uint32_t moduleInstance, uint_fast8_t transmitData)
Definition: spi.c:266
uint32_t desiredSpiClock
Definition: spi.h:67
void SPI_disableInterrupt(uint32_t moduleInstance, uint_fast8_t mask)
Definition: spi.c:362
uint_fast16_t spiMode
Definition: spi.h:71
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:904
uint_fast16_t clockPolarity
Definition: spi.h:70
uint_fast16_t msbFirst
Definition: spi.h:86
Type definition for _eUSCI_SPI_MasterConfig structure.
Definition: spi.h:63
uint_fast16_t spiMode
Definition: spi.h:89
uint_fast16_t msbFirst
Definition: spi.h:68
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:609
void SPI_selectFourPinFunctionality(uint32_t moduleInstance, uint_fast8_t select4PinFunctionality)
Definition: spi.c:143
struct _eUSCI_SPI_MasterConfig eUSCI_SPI_MasterConfig
void EUSCI_B_SPI_select4PinFunctionality(uint32_t baseAddress, uint8_t select4PinFunctionality)
Selects 4Pin Functionality.
Definition: spi.c:534
uint8_t SPI_receiveData(uint32_t moduleInstance)
Definition: spi.c:278
uint_fast8_t SPI_getEnabledInterruptStatus(uint32_t moduleInstance)
Definition: spi.c:386
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:1020
uint32_t SPI_getTransmitBufferAddressForDMA(uint32_t moduleInstance)
Definition: spi.c:326
uint_fast16_t clockPolarity
Definition: spi.h:88
void EUSCI_B_SPI_clearInterruptFlag(uint32_t baseAddress, uint8_t mask)
Clears the selected SPI interrupt status flag.
Definition: spi.c:827
uint8_t EUSCI_B_SPI_receiveData(uint32_t baseAddress)
Receives a byte that has been sent to the SPI Module.
Definition: spi.c:720
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:1315
void EUSCI_B_SPI_enableInterrupt(uint32_t baseAddress, uint8_t mask)
Enables individual SPI interrupt sources.
Definition: spi.c:744
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:887
uint8_t EUSCI_B_SPI_getInterruptStatus(uint32_t baseAddress, uint8_t mask)
Gets the current SPI interrupt status.
Definition: spi.c:802
uint_fast8_t SPI_isBusy(uint32_t moduleInstance)
Definition: spi.c:338
uint8_t EUSCI_A_SPI_getInterruptStatus(uint32_t baseAddress, uint8_t mask)
Gets the current SPI interrupt status.
Definition: spi.c:1213
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:972
uint32_t clockSourceFrequency
Definition: spi.h:66
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:1298
bool EUSCI_A_SPI_isBusy(uint32_t baseAddress)
Indicates whether or not the SPI bus is busy.
Definition: spi.c:1331
void EUSCI_A_SPI_transmitData(uint32_t baseAddress, uint8_t transmitData)
Transmits a byte from the SPI Module.
Definition: spi.c:1114
void EUSCI_B_SPI_disableInterrupt(uint32_t baseAddress, uint8_t mask)
Disables individual SPI interrupt sources.
Definition: spi.c:773