您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ spiTransferByte函数代码示例

51自学网 2021-06-03 08:09:29
  C++
这篇教程C++ spiTransferByte函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中spiTransferByte函数的典型用法代码示例。如果您正苦于以下问题:C++ spiTransferByte函数的具体用法?C++ spiTransferByte怎么用?C++ spiTransferByte使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了spiTransferByte函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: mpu6000WriteRegister

bool mpu6000WriteRegister(uint8_t reg, uint8_t data){    ENABLE_MPU6000;    spiTransferByte(MPU6000_SPI_INSTANCE, reg);    spiTransferByte(MPU6000_SPI_INSTANCE, data);    DISABLE_MPU6000;    return true;}
开发者ID:rayone,项目名称:betaflight-1,代码行数:9,


示例2: mmcCommandNoWait

void mmcCommandNoWait(u08 cmd, u32 arg) {	// send command	spiTransferByte(cmd | 0x40);	spiTransferByte(arg>>24);	spiTransferByte(arg>>16);	spiTransferByte(arg>>8);	spiTransferByte(arg);	spiTransferByte(0x95);	// crc valid only for MMC_GO_IDLE_STATE	// end command}
开发者ID:nookalalakshmi,项目名称:Obstacle-Avoider--Line-Tracker-and-Gripper,代码行数:10,


示例3: set_avr_bank

void set_avr_bank(uint8_t val) {	SPI_SS_HIGH();	FPGA_SS_LOW();	spiTransferByte(0x00); // SET ADDRESS	spiTransferByte(val * 0x20); // select chip	spiTransferByte(0x00); // select chip	spiTransferByte(0x00); // select chip	FPGA_SS_HIGH();	SPI_SS_LOW();}
开发者ID:69yuan,项目名称:sd2snes,代码行数:10,


示例4: cc2420WriteFifo

void cc2420WriteFifo(u08* data, u16 nBytes){		// assert chip select	cbi(PORTB, CC2420_PIN_CS);		// send command	spiTransferByte(CC2420_TXFIFO);	while(nBytes--)		spiTransferByte(*data++);		// release chip select	sbi(PORTB, CC2420_PIN_CS);}
开发者ID:PradheepShrinivasan,项目名称:SmartHome,代码行数:11,


示例5: cc2420DumpFifo

void cc2420DumpFifo(u16 nBytes){	// assert chip select	cbi(PORTB, CC2420_PIN_CS);	// send command	spiTransferByte(CC2420_RXFIFO | 0x40);	while(nBytes--)		spiTransferByte(0x00);	// release chip select	sbi(PORTB, CC2420_PIN_CS);}
开发者ID:PradheepShrinivasan,项目名称:SmartHome,代码行数:11,


示例6: spieepromReadStatus

u08 spieepromReadStatus(void){	u08 status;//	cbi(PORTB,0);	// send command	spiTransferByte(SPIEEPROM_CMD_RDSR);	// get status register value	status = spiTransferByte(0xFF);//	sbi(PORTB,0);	return status;}
开发者ID:wtos03,项目名称:Geartronics-Git-Sever,代码行数:11,


示例7: mpu9250WriteRegister

bool mpu9250WriteRegister(uint8_t reg, uint8_t data){	ENABLE_MPU9250;    delayMicroseconds(1);    spiTransferByte(MPU9250_SPI_INSTANCE, reg);    spiTransferByte(MPU9250_SPI_INSTANCE, data);    DISABLE_MPU9250;    delayMicroseconds(1);    return true;}
开发者ID:gamani,项目名称:betaflight-bak,代码行数:11,


示例8: ads7870WriteReg

void ads7870WriteReg(u08 reg, u08 value){	// assert chip select	cbi(ADS7870_CS_PORT, ADS7870_CS_PIN);	// issue reg write command	spiTransferByte(ADS7870_REG_WRITE | reg);	// write data	spiTransferByte(value);	// release chip select	sbi(ADS7870_CS_PORT, ADS7870_CS_PIN);}
开发者ID:wtos03,项目名称:Geartronics-Git-Sever,代码行数:11,


示例9: cc2420WriteRam

void cc2420WriteRam(u16 addr, u08* data, u16 nBytes){		// assert chip select	cbi(PORTB, CC2420_PIN_CS);	// send command	spiTransferByte(0x80|addr);	spiTransferByte((addr>>1) & 0xC0);	while(nBytes--)		spiTransferByte(*data++);		// release chip select	sbi(PORTB, CC2420_PIN_CS);}
开发者ID:PradheepShrinivasan,项目名称:SmartHome,代码行数:12,


示例10: crc7update

/** * sendCommand - send a command to the SD card * @command  : command to be sent * @parameter: parameter to be sent * @deselect : Flags if the card should be deselected afterwards * * This function calculates the correct CRC7 for the command and * parameter and transmits all of it to the SD card. If requested * the card will be deselected afterwards. */int mmc::sendCommand(const byte  command,const uint32_t parameter,const byte  deselect) {  union {    unsigned long l;    unsigned char c[4];  }   long2char;  byte  i,crc,errorcount;  uint16_t counter;  long2char.l = parameter;  crc = crc7update(0  , 0x40+command);  crc = crc7update(crc, long2char.c[3]);  crc = crc7update(crc, long2char.c[2]);  crc = crc7update(crc, long2char.c[1]);  crc = crc7update(crc, long2char.c[0]);  crc = (crc << 1) | 1;  errorcount = 0;  while (errorcount < CONFIG_SD_AUTO_RETRIES) {    // Select card    SPI_SS_LOW();    // Transfer command    spiTransferByte(0x40+command);    spiTransferLong(parameter);    spiTransferByte(crc);    // Wait for a valid response    counter = 0;    do {      i = spiTransferByte(0xff);      counter++;    }     while (i & 0x80 && counter < 0x1000);    // Check for CRC error    // can't reliably retry unless deselect is allowed    if (deselect && (i & STATUS_CRC_ERROR)) {      //      uart_putc('x');      deselectCard();      errorcount++;      continue;    }    if (deselect) deselectCard();    break;  }  return i;}
开发者ID:GunioRobot,项目名称:Eclipse-for-AVR,代码行数:63,


示例11: cc2420WriteReg

void cc2420WriteReg(u08 addr, u16 data){		// assert chip select	cbi(PORTB, CC2420_PIN_CS);		// send command	spiTransferByte(addr);		// write data	spiTransferByte(data>>8);	spiTransferByte(data);		// release chip select	sbi(PORTB, CC2420_PIN_CS);}
开发者ID:PradheepShrinivasan,项目名称:SmartHome,代码行数:12,


示例12: spiflashGetID

unsigned short spiflashGetID(void){	unsigned short id;	SPIFLASH_ASSERT_CS;	spiTransferByte(SPIFLASH_CMD_RDID);	id  = spiTransferByte(0x00)<<8;	id |= spiTransferByte(0x00);	SPIFLASH_RELEASE_CS;	return id;}
开发者ID:suryapattnaik,项目名称:fabathome-lpc2148,代码行数:12,


示例13: ads7870ReadReg

u08 ads7870ReadReg(u08 reg){	u08 data;	// assert chip select	cbi(ADS7870_CS_PORT, ADS7870_CS_PIN);	// issue reg read command	spiTransferByte(ADS7870_REG_READ | reg);	// read data	data = spiTransferByte(0x00);	// release chip select	sbi(ADS7870_CS_PORT, ADS7870_CS_PIN);	// return data	return data;}
开发者ID:wtos03,项目名称:Geartronics-Git-Sever,代码行数:14,


示例14: spieepromWriteByte

void spieepromWriteByte(u32 memAddr, u08 data){	// wait for any previous write to complete	while(spieepromReadStatus() & SPIEEPROM_STATUS_WIP);//	cbi(PORTB,0);	// send command	spiTransferByte(SPIEEPROM_CMD_WRITE);	// send address	spiTransferByte(memAddr>>8);	spiTransferByte(memAddr&0x00FF);	// send data to be written	spiTransferByte(data);//	sbi(PORTB,0);}
开发者ID:wtos03,项目名称:Geartronics-Git-Sever,代码行数:15,


示例15: spieepromReadByte

u08 spieepromReadByte(u32 memAddr){	u08 data;//	cbi(PORTB,0);	// send command	spiTransferByte(SPIEEPROM_CMD_READ);	// send address	spiTransferByte(memAddr>>8);	spiTransferByte(memAddr&0x00FF);	// read contents of memory address	data = spiTransferByte(0xFF);	// return data	return data;//	sbi(PORTB,0);}
开发者ID:wtos03,项目名称:Geartronics-Git-Sever,代码行数:15,


示例16: max7456_write_nvm

void max7456_write_nvm(uint8_t char_address, uint8_t *font_data) {    uint8_t x;#ifdef MAX7456_DMA_CHANNEL_TX    while (dma_transaction_in_progress);#endif    while (max7456_lock);    max7456_lock = 1;    ENABLE_MAX7456;    // disable display    max7456_send(VM0_REG, video_signal_type);    max7456_send(MAX7456ADD_CMAH, char_address); // set start address high    for(x = 0; x < 54; x++) {        max7456_send(MAX7456ADD_CMAL, x); //set start address low        max7456_send(MAX7456ADD_CMDI, font_data[x]);#ifdef LED0_TOGGLE        LED0_TOGGLE;#else        LED1_TOGGLE;#endif    }    // transfer 54 bytes from shadow ram to NVM    max7456_send(MAX7456ADD_CMM, WRITE_NVR);    // wait until bit 5 in the status register returns to 0 (12ms)    while ((spiTransferByte(MAX7456_SPI_INSTANCE, MAX7456ADD_STAT) & STATUS_REG_NVR_BUSY) != 0);    max7456_send(VM0_REG, video_signal_type | 0x0C);    DISABLE_MAX7456;    max7456_lock = 0;}
开发者ID:Baymaxteam,项目名称:betaflight,代码行数:35,


示例17: spiflashRead

void spiflashRead(unsigned long addr, unsigned long nbytes, unsigned char *data){	// begin read	SPIFLASH_ASSERT_CS;	// issue read command	spiTransferByte(SPIFLASH_CMD_READ);	// send address	spiTransferByte(addr>>16);	spiTransferByte(addr>>8);	spiTransferByte(addr>>0);	// read data	while(nbytes--)		*data++ = spiTransferByte(0x00);	// end read	SPIFLASH_RELEASE_CS;}
开发者ID:suryapattnaik,项目名称:fabathome-lpc2148,代码行数:16,


示例18: _mmcEnableCS

void _mmcEnableCS(void) {	cbi(MMC_CS_PORT,MMC_CS_PIN);	spiTransferByte(0xFF);}
开发者ID:nookalalakshmi,项目名称:Obstacle-Avoider--Line-Tracker-and-Gripper,代码行数:7,


示例19: spieepromWriteDisable

void spieepromWriteDisable(void){//	cbi(PORTB,0);	// send command	spiTransferByte(SPIEEPROM_CMD_WRDI);//	sbi(PORTB,0);}
开发者ID:wtos03,项目名称:Geartronics-Git-Sever,代码行数:7,


示例20: set_avr_mapper

void set_avr_mapper(uint8_t val) {	SPI_SS_HIGH();	FPGA_SS_LOW();	spiTransferByte(0x30 | (val & 0x0f));	FPGA_SS_HIGH();	SPI_SS_LOW();}
开发者ID:69yuan,项目名称:sd2snes,代码行数:7,


示例21: mpu6500ReadRegister

static void mpu6500ReadRegister(uint8_t reg, uint8_t *data, int length){    ENABLE_MPU6500;    spiTransferByte(MPU6500_SPI_INSTANCE, reg | 0x80); // read transaction    spiTransfer(MPU6500_SPI_INSTANCE, data, NULL, length);    DISABLE_MPU6500;}
开发者ID:giryan,项目名称:cleanflight,代码行数:7,


示例22: m25p16_performOneByteCommand

/** * Send the given command byte to the device. */static void m25p16_performOneByteCommand(uint8_t command){    ENABLE_M25P16;    spiTransferByte(M25P16_SPI_INSTANCE, command);    DISABLE_M25P16;}
开发者ID:AlienWiiBF,项目名称:betaflight,代码行数:11,


示例23: cc2420Command

void cc2420Command(u08 cmd){		// assert chip select	cbi(PORTB, CC2420_PIN_CS);		// send command	spiTransferByte(cmd);		// release chip select	sbi(PORTB, CC2420_PIN_CS);}
开发者ID:PradheepShrinivasan,项目名称:SmartHome,代码行数:9,


示例24: mpu9250ReadRegister

bool mpu9250ReadRegister(uint8_t reg, uint8_t length, uint8_t *data){	ENABLE_MPU9250;    spiTransferByte(MPU9250_SPI_INSTANCE, reg | 0x80); // read transaction    spiTransfer(MPU9250_SPI_INSTANCE, data, NULL, length);    DISABLE_MPU9250;    return true;}
开发者ID:gamani,项目名称:betaflight-bak,代码行数:9,


示例25: nrf24GetStatus

// --------------------------------------------------------------------------NRF24_STATUS_t nrf24GetStatus(void){	u_nrf24_reg_t status;	NRF24_CSN_LOW();	status.byte = spiTransferByte(spi, NRF24_CMD_NOP);	NRF24_CSN_HIGH();	return (status.STATUS);}
开发者ID:obeny,项目名称:ehal,代码行数:10,


示例26: while

byte mmc::readSectors(byte *buffer, uint32_t sector, byte count) {  byte sec,res,tmp,errorcount;  uint16_t crc,recvcrc;  for (sec=0;sec<count;sec++) {    errorcount = 0;    while (errorcount < CONFIG_SD_AUTO_RETRIES) {      res = sendCommand(READ_SINGLE_BLOCK, (sector+sec) << 9, 0);      if (res != 0) {        SPI_SS_HIGH();        disk_state = DISK_ERROR;        return RES_ERROR;      }      // Wait for data token      if (!sdResponse(0xFE)) {        SPI_SS_HIGH();        disk_state = DISK_ERROR;        return RES_ERROR;      }      uint16_t i;      // Get data      crc = 0;      for (i=0; i<512; i++) {        tmp = spiTransferByte(0xff);        *(buffer++) = tmp;      }      // Check CRC      recvcrc = (spiTransferByte(0xFF) << 8) + spiTransferByte(0xFF);      break;    }    deselectCard();    if (errorcount >= CONFIG_SD_AUTO_RETRIES) return RES_ERROR;  }  return RES_OK;}
开发者ID:GunioRobot,项目名称:Eclipse-for-AVR,代码行数:43,


示例27: sdResponse

static char sdResponse(byte expected){  unsigned short count = 0x0FFF;  while ((spiTransferByte(0xFF) != expected) && count )    count--;  // If count didn't run out, return success  return (count != 0);}
开发者ID:GunioRobot,项目名称:Eclipse-for-AVR,代码行数:10,


示例28: sdWaitWriteFinish

static char sdWaitWriteFinish(void){  unsigned short count = 0xFFFF; // wait for quite some time  while ((spiTransferByte(0xFF) == 0) && count )    count--;  // If count didn't run out, return success  return (count != 0);}
开发者ID:GunioRobot,项目名称:Eclipse-for-AVR,代码行数:10,


示例29: ads7870ConvertRaw

s16 ads7870ConvertRaw(u08 channel){	s16 result;	// assert chip select	cbi(ADS7870_CS_PORT, ADS7870_CS_PIN);	// start conversion	spiTransferByte(ADS7870_CONVERT | channel);	// wait for completion	while( ads7870ReadReg(ADS7870_GAINMUX) & ADS7870_GAINMUX_CNVBSY);	// assert chip select	cbi(ADS7870_CS_PORT, ADS7870_CS_PIN);	// read result	spiTransferByte(ADS7870_REG_READ | ADS7870_REG_16BIT | ADS7870_RESULTHI);	result  = spiTransferByte(0x00)<<8;	result |= spiTransferByte(0x00);	// release chip select	sbi(ADS7870_CS_PORT, ADS7870_CS_PIN);	// return result	return result;}
开发者ID:wtos03,项目名称:Geartronics-Git-Sever,代码行数:20,


示例30: mmcCommand

u08 mmcCommand(u08 cmd, u32 arg){	u08 r1;	u08 retry=0;	// send command	spiTransferByte(cmd | 0x40);	spiTransferByte(arg>>24);	spiTransferByte(arg>>16);	spiTransferByte(arg>>8);	spiTransferByte(arg);	spiTransferByte(0x95);	// crc valid only for MMC_GO_IDLE_STATE	// end command	// wait for response	// if more than 8 retries, card has timed-out	// return the received 0xFF	while((r1 = spiTransferByte(0xFF)) == 0xFF)		if(retry++ > 8) break;	// return response	return r1;}
开发者ID:46nori,项目名称:avr-liberty,代码行数:20,



注:本文中的spiTransferByte函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ spiWrite函数代码示例
C++ spiTransfer函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。