这篇教程C++ twi_writeTo函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中twi_writeTo函数的典型用法代码示例。如果您正苦于以下问题:C++ twi_writeTo函数的具体用法?C++ twi_writeTo怎么用?C++ twi_writeTo使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了twi_writeTo函数的25个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: /** Reset the FIFO. * This bit resets the FIFO buffer when set to 1 while FIFO_EN equals 0. This * bit automatically clears to 0 after the reset has been triggered. * @see MPU6050_RA_USER_CTRL * @see MPU6050_USERCTRL_FIFO_RESET_BIT */uint8_t MPU6050::resetFIFO() { buffer[0] = MPU6050_RA_USER_CTRL; if (twi_writeTo(devAddr, buffer, 1, true)) return 0xFF; if (twi_readFrom(devAddr, buffer+1, 1) != 1) return 0xFF; buffer[1] |= (1 << MPU6050_USERCTRL_FIFO_RESET_BIT); if (twi_writeTo(devAddr, buffer, 2, true)) return 0xFF; return 0;}
开发者ID:thekroko,项目名称:quadrocopter,代码行数:14,
示例2: twi_writeTo/* * Function ScI2cMxScrollingHorizontal * Desc ZT.SC-I2CMx Scrolling Horizontal * Input addr:ZT.SC-I2CMx Address lr: Scroll direction spage: start page epage: end page frames: Scroll fram * Output 0 .. success * 1 .. length to long for buffer * 2 .. address send, NACK received * 3 .. data send, NACK received * 4 .. other twi error (lost bus arbitration, bus error, ..) */int ZtLib::ScI2cMxScrollingHorizontal(uint8_t addr, uint8_t lr, uint8_t spage, uint8_t epage,uint8_t frames){ uint8_t buff[9] = {REG_CMD, 0x2E, 0x00, spage, frames, epage, 0x00, 0xFF, 0x2F}; twi_writeTo(addr, buff, 2, 1, 1); buff[0] = REG_CMD; buff[1] = lr; for (int i=0; i<10; i++); return twi_writeTo(addr, buff, 9, 1, 1);}
开发者ID:02nhra,项目名称:ArduinoOBD,代码行数:23,
示例3: twi_writeTo//// Originally, 'endTransmission' was an f(void) function.// It has been modified to take one parameter indicating// whether or not a STOP should be performed on the bus.// Calling endTransmission(false) allows a sketch to // perform a repeated start. //// WARNING: Nothing in the library keeps track of whether// the bus tenure has been properly ended with a STOP. It// is very possible to leave the bus in a hung state if// no call to endTransmission(true) is made. Some I2C// devices will behave oddly if they do not see a STOP.//uint8_t TwoWireMaster::endTransmission(uint8_t sendStop){#if ORG_FILE // transmit buffer (blocking) int8_t ret = twi_writeTo(txAddress, txBuffer, txBufferLength, 1, sendStop);#else // ORG_FILE bool s = twiMstrTransfer((txAddress << 1) | I2C_WRITE, txBuffer, txBufferLength, sendStop ? I2C_STOP : I2C_REP_START); int8_t ret = 0; if (!s) { if (twiMstrFailureState() == TWI_MTX_ADR_NACK) { ret = 2; }else if (twiMstrFailureState() == TWI_MTX_DATA_NACK) { ret = 3; } else { ret = 4; } }#endif // ORG_FILE // reset tx buffer iterator vars txBufferIndex = 0; txBufferLength = 0; // indicate that we are done transmitting transmitting = 0; return ret;}
开发者ID:Aljabri722,项目名称:legoino,代码行数:39,
示例4: twi_writeTo// Helper function to write to the accelerometer and interpret the error code, if anyvoid GadgetShield::twiWrite(const void *buf, uint8_t length){ uint8_t code; code = twi_writeTo(ACC_SLAVE_ADDR, (uint8_t *)buf, length, 1); errorWrite(code);}
开发者ID:RuggedCircuits,项目名称:Rugged-Circuits-Code,代码行数:8,
示例5: if/* * Function Seg8b4a036aDisplayDec * Desc ZT.SEG8B4A036A Display decimal numeral * Input addr:ZT.SEG8B4A036A Address val: Display Val bitnum:Display Bit Number dotbit: Dot Display * Output 0 .. success * 1 .. length to long for buffer * 2 .. address send, NACK received * 3 .. data send, NACK received * 4 .. other twi error (lost bus arbitration, bus error, ..) */int ZtLib::Seg8b4a036aDisplayDec(uint8_t addr,unsigned short val, uint8_t bitnum, uint8_t dotbit){ uint8_t i; uint8_t segnum[5]; if (val>9999) return 0xFF; segnum[0] = REG_DAT; segnum[1] = val%10; segnum[2] = (val%100)/10; segnum[3] = (val/100)%10; segnum[4] = val/1000; for (i=1; i<5; i++) { segnum[i] = codetable[segnum[i]]; if (dotbit&0x01) { segnum[i] |= 0x80; } dotbit >>= 1; } if (bitnum==DISP_0BIT) {segnum[4] = 0;segnum[3] = 0;segnum[2] = 0;segnum[1] = 0;} else if (bitnum==DISP_1BIT) {segnum[4] = 0;segnum[3] = 0;segnum[2] = 0;} else if (bitnum==DISP_2BIT) {segnum[4] = 0;segnum[3] = 0;} else if (bitnum==DISP_3BIT) {segnum[4] = 0;} else if (bitnum==DISP_AUTO) { if (val<10) {segnum[4] = 0;segnum[3] = 0;segnum[2] = 0;} else if (val<100) {segnum[4] = 0;segnum[3] = 0;} else if (val<1000) {segnum[4] = 0;} } return twi_writeTo(addr, segnum, 5, 1, 1);}
开发者ID:02nhra,项目名称:ArduinoOBD,代码行数:47,
示例6: twi_writeTouint8_t TwoWire::endTransmission(uint8_t sendStop){ int8_t ret = twi_writeTo(txAddress, txBuffer, txBufferLength, sendStop); txBufferIndex = 0; txBufferLength = 0; transmitting = 0; return ret;}
开发者ID:NeoBelerophon,项目名称:Arduino,代码行数:7,
示例7: i2c_wr_blkint i2c_wr_blk(uint8_t cli_addr, uint8_t *dat, uint8_t len){ if (len > TWI_BUFFER_LENGTH) return -1; return twi_writeTo(cli_addr, dat, len, USE_BUSY_WAIT, SEND_STOP_BIT);}
开发者ID:rodale75,项目名称:tiny_rtc_i2c_board,代码行数:7,
示例8: ScI2cMxSetLocation/* * Function ScI2cMxDisplayDot16x16 * Desc Set ZT.SC-I2CMx Display 16*16 Dot * Input addr:ZT.SC-I2CMx Address page:page column:column *str:16*16 Dot Data * Output 0 .. success * 1 .. length to long for buffer * 2 .. address send, NACK received * 3 .. data send, NACK received * 4 .. other twi error (lost bus arbitration, bus error, ..) */void ZtLib::ScI2cMxDisplayDot16x16(uint8_t addr, uint8_t page, uint8_t column, unsigned char *str){ uint8_t buff[17]; buff[0] = REG_DAT; ScI2cMxSetLocation(addr, page, column); for (int i=0; i<16; i++) { buff[i+1] = str[i]; } twi_writeTo(addr, buff, 17, 1, 1); ScI2cMxSetLocation(addr, page+1, column); for (int i=0; i<16; i++) { buff[i+1] = str[i+16]; } twi_writeTo(addr, buff, 17, 1, 1);}
开发者ID:02nhra,项目名称:ArduinoOBD,代码行数:30,
示例9: twi_writeTouint8_t RTC_DS1307::isrunning(void) { twi_buf[0] = 0; twi_writeTo(DS1307_ADDRESS, 1); // perform blocking read into buffer (void)twi_readFrom(DS1307_ADDRESS, 1); uint8_t ss = twi_buf[0]; return !(ss>>7);}
开发者ID:JayMcGee,项目名称:GameFrame,代码行数:9,
示例10: wire_endTransmissionuint8_t ICACHE_FLASH_ATTR wire_endTransmission(){ int8_t ret; ret = twi_writeTo(wire_txAddress, wire_txBuffer, wire_txBufferLength, true); wire_txBufferIndex = 0; wire_txBufferLength = 0; wire_transmitting = 0; return ret;}
开发者ID:fernandomorse,项目名称:noduino-sdk,代码行数:9,
示例11: i2c_wr_addr_byteint i2c_wr_addr_byte(uint8_t cli_addr, uint8_t reg_addr, uint8_t dat){ uint8_t buf[2]; buf[0] = reg_addr; buf[1] = dat; return twi_writeTo(cli_addr, buf, sizeof(buf), USE_BUSY_WAIT, SEND_STOP_BIT);}
开发者ID:rodale75,项目名称:tiny_rtc_i2c_board,代码行数:9,
示例12: pot_writevoid pot_write(char channel, char address, unsigned char msg) { unsigned char buf[2]; unsigned short pot = channel; if (address == OSCOPE_POT_VALUE && pot < POT_N_CHANNELS) { buf[0] = addrs[pot].pot_number? POT_CMD_WR1 : POT_CMD_WR0; buf[1] = msg; twi_writeTo(addrs[pot].i2c_addr, buf, sizeof(buf), 0); }}
开发者ID:bstrysko,项目名称:WCTU,代码行数:9,
示例13: twi_endTransmissionuint8_t twi_endTransmission() { // transmit buffer (blocking) int8_t ret = twi_writeTo(txAddress, txBuffer, txBufferLength, 1, true); // reset tx buffer iterator vars txBufferIndex = 0; txBufferLength = 0; // indicate that we are done transmitting transmitting = 0; return ret;}
开发者ID:jonasalessi,项目名称:embedded,代码行数:10,
示例14: i2c_wr_addr16_byteint i2c_wr_addr16_byte(uint8_t cli_addr, uint16_t reg_addr, uint8_t dat){ uint8_t buf[3]; buf[0] = (uint8_t)((0xFF00 & reg_addr) >> 8); /* reg addr MSB */ buf[1] = (uint8_t)(0x00FF & reg_addr); /* reg addr LSB */ buf[2] = dat; return twi_writeTo(cli_addr, buf, sizeof(buf), USE_BUSY_WAIT, SEND_STOP_BIT);}
开发者ID:rodale75,项目名称:tiny_rtc_i2c_board,代码行数:10,
示例15: twi_writeTovoid TwoWire::endTransmission(void){ // transmit buffer (blocking) twi_writeTo(txAddress, txBuffer, txBufferLength, 1); // reset tx buffer iterator vars txBufferIndex = 0; txBufferLength = 0; // indicate that we are done transmitting transmitting = 0;}
开发者ID:BackupTheBerlios,项目名称:arduino-svn,代码行数:10,
示例16: while/* * Function ScI2cMxDisplayArea * Desc Set ZT.SC-I2CMx Display Area * Input addr:ZT.SC-I2CMx Address spage: start page epage: end page scolumn: start column ecolumn: end column *pt: Data * Output 0 .. success * 1 .. length to long for buffer * 2 .. address send, NACK received * 3 .. data send, NACK received * 4 .. other twi error (lost bus arbitration, bus error, ..) */void ZtLib::ScI2cMxDisplayArea(uint8_t addr, uint8_t spage, uint8_t epage, uint8_t scolumn, uint8_t ecolumn, const char *pt){ uint8_t i = 0; uint8_t j = 0; uint8_t h = 0; uint8_t w = 0; uint16_t cnt = 0; uint8_t buff[32]; buff[0] = REG_DAT; h = epage - spage; w = ecolumn - scolumn; while ( j<h ) { ScI2cMxSetLocation(addr, spage + j, scolumn); uint8_t p=w; while(p) { if(p>=31) { for (int n=0; n<31; n++) { buff[1+n] = pt[cnt++]; } twi_writeTo(addr, buff, 32, 1, 1); p -= 31; } else { int n; for (n=0; n<p; n++) { buff[1+n] = pt[cnt++]; } twi_writeTo(addr, buff, n+1, 1, 1); p -= n; } } j++; }}
开发者ID:02nhra,项目名称:ArduinoOBD,代码行数:57,
示例17: bin2bcdvoid RTC_DS1307::adjust(const DateTime& dt) { twi_buf[0] = 0; twi_buf[1] = bin2bcd(dt.second()); twi_buf[2] = bin2bcd(dt.minute()); twi_buf[3] = bin2bcd(dt.hour()); twi_buf[4] = bin2bcd(0); twi_buf[5] = bin2bcd(dt.day()); twi_buf[6] = bin2bcd(dt.month()); twi_buf[7] = bin2bcd(dt.year() - 2000); twi_buf[8] = 0; twi_writeTo(DS1307_ADDRESS, 9);}
开发者ID:JayMcGee,项目名称:GameFrame,代码行数:12,
示例18: twi_writeTo//// Originally, 'endTransmission' was an f(void) function.// It has been modified to take one parameter indicating// whether or not a STOP should be performed on the bus.// Calling endTransmission(false) allows a sketch to // perform a repeated start. //// WARNING: Nothing in the library keeps track of whether// the bus tenure has been properly ended with a STOP. It// is very possible to leave the bus in a hung state if// no call to endTransmission(true) is made. Some I2C// devices will behave oddly if they do not see a STOP.//uint8_t TwoWire::endTransmission(uint8_t sendStop){ if(txBufferLength == 0) return 0; // transmit buffer (blocking) int8_t ret = twi_writeTo(txAddress, txBuffer, txBufferLength, 1, sendStop); // reset tx buffer iterator vars txBufferIndex = 0; txBufferLength = 0; // indicate that we are done transmitting transmitting = 0; return ret;}
开发者ID:jack23912,项目名称:86Duino,代码行数:25,
示例19: i2c_end_transmissionuint8_t i2c_end_transmission(uint8_t sendStop){ // transmit buffer (blocking) uint8_t ret = twi_writeTo(txAddress, txBuffer, txBufferLength, 1, sendStop); // reset buffer vars txBufferIndex = 0; txBufferLength = 0; // set transmission flag transmitting = 0; return ret;}
开发者ID:johncobb,项目名称:avr_328p_gimbal,代码行数:12,
示例20: i2c_wr_addr_blkint i2c_wr_addr_blk(uint8_t cli_addr, uint8_t reg_addr, uint8_t *dat, uint8_t len){ uint8_t buf[TWI_BUFFER_LENGTH]; if ((len + 1) > TWI_BUFFER_LENGTH) return -1; buf[0] = reg_addr; memcpy(&buf[1], dat, len); return twi_writeTo(cli_addr, buf, (len + 1), USE_BUSY_WAIT, SEND_STOP_BIT);}
开发者ID:rodale75,项目名称:tiny_rtc_i2c_board,代码行数:13,
示例21: i2c_rd_addr_byteint i2c_rd_addr_byte(uint8_t cli_addr, uint8_t reg_addr, uint8_t *dat){ uint8_t ret; ret = twi_writeTo(cli_addr, ®_addr, 1, USE_BUSY_WAIT, SEND_STOP_BIT); if (ret != 0) return ret; ret = twi_readFrom(cli_addr, dat, 1, SEND_STOP_BIT); if (ret == 0) return -1; return 0;}
开发者ID:rodale75,项目名称:tiny_rtc_i2c_board,代码行数:13,
示例22: i2c_wr_addr16_blkint i2c_wr_addr16_blk(uint8_t cli_addr, uint16_t reg_addr, uint8_t *dat, uint8_t len){ uint8_t buf[TWI_BUFFER_LENGTH]; if ((len + 2) > TWI_BUFFER_LENGTH) return -1; buf[0] = (uint8_t)((0xFF00 & reg_addr) >> 8); /* reg addr MSB */ buf[1] = (uint8_t)(0x00FF & reg_addr); /* reg addr LSB */ memcpy(&buf[2], dat, len); return twi_writeTo(cli_addr, buf, (len + 2), USE_BUSY_WAIT, SEND_STOP_BIT);}
开发者ID:rodale75,项目名称:tiny_rtc_i2c_board,代码行数:14,
示例23: i2c_rd_addr_blkint i2c_rd_addr_blk(uint8_t cli_addr, uint8_t reg_addr, uint8_t *dat, uint8_t len){ uint8_t ret; if (len > TWI_BUFFER_LENGTH) return -1; ret = twi_writeTo(cli_addr, ®_addr, 1, USE_BUSY_WAIT, SEND_STOP_BIT); if (ret != 0) return ret; ret = twi_readFrom(cli_addr, dat, len, SEND_STOP_BIT); if (ret == 0) return -1; return 0;}
开发者ID:rodale75,项目名称:tiny_rtc_i2c_board,代码行数:17,
示例24: i2c_rd_addr16_byteint i2c_rd_addr16_byte(uint8_t cli_addr, uint16_t reg_addr, uint8_t *dat){ uint8_t buf[2]; uint8_t ret; buf[0] = (uint8_t)((0xFF00 & reg_addr) >> 8); /* reg addr MSB */ buf[1] = (uint8_t)(0x00FF & reg_addr); /* reg addr LSB */ ret = twi_writeTo(cli_addr, buf, sizeof(buf), USE_BUSY_WAIT, SEND_STOP_BIT); if (ret != 0) return ret; ret = twi_readFrom(cli_addr, dat, 1, SEND_STOP_BIT); if (ret == 0) return -1; return 0;}
开发者ID:rodale75,项目名称:tiny_rtc_i2c_board,代码行数:17,
示例25: twi_writeTouint8_t TwoWire::endTransmission(void){ // Secure I2C power management Wire.secureBegin(); // transmit buffer (blocking) uint8_t ret = twi_writeTo(txAddress, txBuffer, txBufferLength, 1); // reset tx buffer iterator vars txBufferIndex = 0; txBufferLength = 0; // indicate that we are done transmitting transmitting = 0; // Secure I2C power management Wire.secureEnd(); return ret;}
开发者ID:AppSaloon,项目名称:waspmoteapi,代码行数:18,
注:本文中的twi_writeTo函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ twl4030_i2c_read_u8函数代码示例 C++ twi_master_transfer函数代码示例 |