void sendArray3310( uint8_t * data, int cnt ) { spiAcquireBus( &SPID1 ); // Acquire ownership of the bus. spiStart( &SPID1, &spicfg ); // Setup transfer parameters. spiSelect( &SPID1 ); // Slave Select assertion. //spiExchange( &SPID1, 512, // txbuf, rxbuf ); // Atomic transfer operations. spiStartSend( &SPI_3310, cnt, data ); spiUnselect( &SPID1 ); // Slave Select de-assertion. spiReleaseBus( &SPID1 ); // Ownership release. }
/** * @brief Sends a byte through the SPI interface and return the byte * received from the SPI bus. * @param byte : byte to send. * @retval : The value of the received byte. */ void sendByte3310( uint8_t byte ) { spiAcquireBus( &SPI_3310 ); // Acquire ownership of the bus. spiStart( &SPI_3310, &spicfg ); // Setup transfer parameters. spiSelect( &SPI_3310 ); // Slave Select assertion. spiStartSend( &SPI_3310, 1, &byte ); //spiExchange( &SPI_3310, 512, // txbuf, rxbuf ); // Atomic transfer operations. spiUnselect( &SPI_3310 ); // Slave Select de-assertion. spiReleaseBus( &SPI_3310 ); // Ownership release. }
static void adis_burst_read(SPIDriver *spip) { if(adis_driver.state == ADIS_IDLE) { adis_driver.spi_instance = spip; adis_driver.adis_txbuf[0] = adis_create_read_addr(ADIS_GLOB_CMD); adis_driver.adis_txbuf[1] = (adis_reg_data) 0x0; adis_driver.reg = ADIS_GLOB_CMD; adis_driver.rx_numbytes = (ADIS_NUM_BURSTREAD_REGS *2); adis_driver.tx_numbytes = 2; adis_driver.debug_cb_count = 0; spiAcquireBus(spip); /* Acquire ownership of the bus. */ spiSelect(spip); /* Slave Select assertion. */ spiStartSend(spip, adis_driver.tx_numbytes, adis_driver.adis_txbuf); adis_driver.state = ADIS_TX_PEND; } }