void A110x2500SpiWrite(unsigned char address, const unsigned char *buffer, unsigned char count) { digitalWrite(RF_SPI_CSN,LOW); // Look for CHIP_RDYn from radio. pinMode(RF_SPI_MISO, INPUT); while (digitalRead(RF_SPI_MISO)); MAP_PinTypeSPI(PIN_06, PIN_MODE_7); // Write the address/command byte. SPI.transfer(address); // Write dummy byte(s) and read response(s). for (unsigned char i = 0; i < count; i++) { SPI.transfer(buffer[i]); } // Note: It is assumed that the Energia SPI driver waits until the USCIB0 // peripheral is done being busy before returning to the caller. digitalWrite(RF_SPI_CSN,HIGH); }
/* * ======== Board_openSPI ======== */ SPI_Handle Board_openSPI(UInt spiPortIndex, SPI_Params *spiParams) { /* Initialize the SPI driver */ /* By design, SPI_init() is idempotent */ SPI_init(); /* initialize the pins associated with the respective UART */ switch(spiPortIndex) { /* * NOTE: TI-RTOS examples configure EUSCIB0 as either SPI or I2C. Thus, * a conflict occurs when the I2C & SPI drivers are used simultaneously in * an application. Modify the pin mux settings in this file and resolve the * conflict before running your the application. */ case 0: /* * Configure LaunchPad P1.7 as a SPI pin: SPI CLK * device pin: 5 (GSPI_CLK) * Wiring id : 7 */ MAP_PinTypeSPI(PIN_05, PIN_MODE_7); /* * Configure LaunchPad P2.6 as a SPI pin: SPI MOSI * device pin: 7 (GSPI_MOSI) * Wiring id : 15 */ MAP_PinTypeSPI(PIN_07, PIN_MODE_7); /* * Configure LaunchPad P2.7 as a SPI pin: SPI MISO * device pin: 6 (GSPI_MISO) * Wiring id : 14 */ MAP_PinTypeSPI(PIN_06, PIN_MODE_7); break; default: return(NULL); } Board_initDMA(); /* open the SPI port */ return (SPI_open(spiPortIndex, spiParams)); }
//***************************************************************************** void PinMuxConfig(void) { // // Enable Peripheral Clocks // MAP_PRCMPeripheralClkEnable(PRCM_UARTA0, PRCM_RUN_MODE_CLK); MAP_PRCMPeripheralClkEnable(PRCM_GSPI, PRCM_RUN_MODE_CLK); // // Configure PIN_55 for UART0 UART0_TX // MAP_PinTypeUART(PIN_55, PIN_MODE_3); // // Configure PIN_57 for UART0 UART0_RX // MAP_PinTypeUART(PIN_57, PIN_MODE_3); // // Configure PIN_05 for SPI0 GSPI_CLK // MAP_PinTypeSPI(PIN_05, PIN_MODE_7); // // Configure PIN_06 for SPI0 GSPI_MISO // MAP_PinTypeSPI(PIN_06, PIN_MODE_7); // // Configure PIN_07 for SPI0 GSPI_MOSI // MAP_PinTypeSPI(PIN_07, PIN_MODE_7); // // Configure PIN_08 for SPI0 GSPI_CS // MAP_PinTypeSPI(PIN_08, PIN_MODE_7); }
/* * ======== Board_initGeneral ======== */ void Board_initGeneral(void) { /* Reset DMA + other essential peripheral initialization * ASSUMED by the simplelink and driverlib libraries */ PRCMCC3200MCUInit(); /* Configure pins as specified in the current configuration */ /* * ======== Enable Peripheral Clocks ======== * Enable all clocks (because wiring can use any pin for in any mode * at runtime) */ MAP_PRCMPeripheralClkEnable(PRCM_CAMERA, PRCM_RUN_MODE_CLK); MAP_PRCMPeripheralClkEnable(PRCM_GSPI, PRCM_RUN_MODE_CLK); MAP_PRCMPeripheralClkEnable(PRCM_I2CA0, PRCM_RUN_MODE_CLK); MAP_PRCMPeripheralClkEnable(PRCM_I2S, PRCM_RUN_MODE_CLK); MAP_PRCMPeripheralClkEnable(PRCM_SDHOST, PRCM_RUN_MODE_CLK); MAP_PRCMPeripheralClkEnable(PRCM_TIMERA0, PRCM_RUN_MODE_CLK); MAP_PRCMPeripheralClkEnable(PRCM_TIMERA1, PRCM_RUN_MODE_CLK); MAP_PRCMPeripheralClkEnable(PRCM_TIMERA2, PRCM_RUN_MODE_CLK); MAP_PRCMPeripheralClkEnable(PRCM_TIMERA3, PRCM_RUN_MODE_CLK); MAP_PRCMPeripheralClkEnable(PRCM_UARTA0, PRCM_RUN_MODE_CLK); MAP_PRCMPeripheralClkEnable(PRCM_UARTA1, PRCM_RUN_MODE_CLK); /* ======== UART Pin Configuration ======== */ /* Serial */ /* * Configure LaunchPad P2.9 as a UART1: UART1 TX (via USB port) * device pin: 55 (UART0_TX) * Wiring id : 12 */ MAP_PinTypeUART(PIN_55, PIN_MODE_6); /* * Configure LaunchPad P3.3 as a UART1: UART1 RX (via USB port) * device pin: 57 (UART0_RX) * Wiring id : 23 */ MAP_PinTypeUART(PIN_57, PIN_MODE_6); /* Serial1 */ /* * Configure LaunchPad P1.4 as a UART0: UART0 TX * device pin: 3 (UART0_TX) * Wiring id : 4 */ MAP_PinTypeUART(PIN_03, PIN_MODE_7); /* * Configure LaunchPad P1.3 as a UART0: UART0 RX * device pin: 4 (UART0_RX) * Wiring id : 3 */ MAP_PinTypeUART(PIN_04, PIN_MODE_7); /* ======== SPI Pin Configuration ======== */ /* * Configure LaunchPad P1.7 as a SPI pin: SPI CLK * device pin: 5 (GSPI_CLK) * Wiring id : 7 */ MAP_PinTypeSPI(PIN_05, PIN_MODE_7); /* * Configure LaunchPad P2.6 as a SPI pin: SPI MOSI * device pin: 7 (GSPI_MOSI) * Wiring id : 15 */ MAP_PinTypeSPI(PIN_07, PIN_MODE_7); /* * Configure LaunchPad P2.7 as a SPI pin: SPI MISO * device pin: 6 (GSPI_MISO) * Wiring id : 14 */ MAP_PinTypeSPI(PIN_06, PIN_MODE_7); /* ======== I2C Pin Configuration ======== */ /* * Configure LaunchPad P1.9 as a I2C pin: LaunchPad Sensor Data (via I2C) * device pin: 1 (I2C_SCL) * Wiring id : 9 */ MAP_PinTypeI2C(PIN_01, PIN_MODE_1); /* * Configure LaunchPad P1.10 as a I2C pin: LaunchPad Sensor Data (via I2C) * device pin: 2 (I2C_SDA) * Wiring id : 10 */ MAP_PinTypeI2C(PIN_02, PIN_MODE_1); }