uint8_t spiRegAccess(uint8_t addrByte, uint8_t writeValue) { uint8_t readValue; SPI_CSN_L(); // while (SPI_MISO_READ()); spi_writebyte(addrByte); readValue = spi_writebyte(writeValue); SPI_CSN_H(); return(readValue); }
void cc1101_init(void) { SPI_CSN_L(); Mrfi_DelayUsec(10); SPI_CSN_H(); Mrfi_DelayUsec(40); SPI_CSN_L(); while (SPI_MISO_READ()); spi_writebyte(SRES); while (SPI_MISO_READ()); SPI_CSN_H(); RfWriteRfSettings(); Mrfi_SpiWriteReg(TI_CCxxx0_IOCFG0, 0x06); { uint8_t tmp = 0; tmp = Mrfi_SpiReadReg(TI_CCxxx0_IOCFG0); if(tmp != 0x06) while(1); } Mrfi_SpiCmdStrobe(SIDLE); Mrfi_SpiCmdStrobe(SRX); P2IES |= GPIO0; // Ñ¡ÔñÉÏÉý/ϽµÑØ P2REN |= GPIO0; // push-up enable P2IFG &=~GPIO0; P2IE |= GPIO0; }
uint8_t spiBurstFifoAccess(uint8_t addrByte, uint8_t * pData, uint8_t len) { SPI_CSN_L(); // while (SPI_MISO_READ()); spi_writebyte(addrByte); SPI_WriteBuf(pData, len); SPI_CSN_H(); return 1; }
uint8_t Mrfi_SpiCmdStrobe(uint8_t cmd) { uint8_t statusByte; SPI_CSN_L(); // while (SPI_MISO_READ()); statusByte = spi_writebyte(cmd); SPI_CSN_H(); return(statusByte); }
void SPI_WriteBuf(uint8_t *buf, uint8_t cnt) { uint8_t statusByte,i; for(i = 0;i < cnt;i ++) { statusByte = spi_writebyte(buf[i]); buf[i] = statusByte; } }
uint8_t SPIClass::transfer(uint8_t txData) { char s = spi_writebyte (this->fd, txData); return s; }