unsigned char pdlibSPI_ReceiveDataBlocking() { unsigned long ulRxData; ROM_SSIDataGet(g_SSIModule[g_SSI][SSIBASE], &ulRxData); return ((unsigned char)(ulRxData & 0xFF)); }
uint8_t SPIClass::transfer(uint8_t data) { unsigned long rxData; ROM_SSIDataPut(SSIBASE, data); while(ROM_SSIBusy(SSIBASE)); ROM_SSIDataGet(SSIBASE, &rxData); return (uint8_t) rxData; }
uint8_t SPIClass::transfer(uint8_t ssPin, uint8_t data, uint8_t transferMode) { unsigned long rxData; digitalWrite(ssPin, LOW); ROM_SSIDataPut(SSIBASE, data); while(ROM_SSIBusy(SSIBASE)); if(transferMode == SPI_LAST) digitalWrite(ssPin, HIGH); else digitalWrite(ssPin, LOW); ROM_SSIDataGet(SSIBASE, &rxData); return (uint8_t) rxData; }
unsigned char pdlibSPI_TransferByte(unsigned char ucData) { unsigned long ulRxData; /* Validate parameters */ if(g_SSI < 5) { #ifdef PART_LM4F120H5QR ROM_SSIDataPut(g_SSIModule[g_SSI][SSIBASE], ucData); /* Wait until current transmission is over */ while(ROM_SSIBusy(g_SSIModule[g_SSI][SSIBASE])); ROM_SSIDataGet(g_SSIModule[g_SSI][SSIBASE], &ulRxData); /* Wait until current transmission is over */ while(ROM_SSIBusy(g_SSIModule[g_SSI][SSIBASE])); #endif } return ((unsigned char)(ulRxData & 0xFF)); }
unsigned long SPIRead(unsigned short SPINum) { unsigned long data; ROM_SSIDataGet(SSIBase[SPINum], &data); return data; }