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

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

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

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

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

示例1: I2C_WriteBytes

/*! /brief Writes data from buffer.    /param indata Pointer to data buffer    /param bytes  Number of bytes to transfer	/param slave_adr  Slave address on I2C bus	/param slave_reg  Slave memory address from which the reading is started    /return 1 if successful, otherwise 0 */u8 I2C_WriteBytes(u8* indata, u8 bytes, u8 slave_adr, u8 slave_reg){	u8 index, ack = 0;		if(!I2C_StartCond())	{		return 0;	}	if(!I2C_WriteByte((u8)(slave_adr | WRITE)))	{		return 0;		}	if(!I2C_WriteByte(slave_reg))    {      return 0;	    }	for(index = 0; index < bytes; index++)	{		 ack = I2C_WriteByte(indata[index]);		 if(!ack)		 {			break;	         }				}	//put stop here	write_scl(1);	DELAY_US(SCL_SDA_DELAY);	SDA_HIGH;	return ack;}
开发者ID:eos1d3,项目名称:stm8-distance-sensor-2-400-cm,代码行数:37,


示例2: BMP180_StartTemperature

/** * @ Opis  				Rozpoczyna pomiar temperatury. * @ Parametry  		Brak. * @ Zwracana wartosc 	Brak. */void BMP180_StartTemperature() {	I2C_Start();	I2C_Write_SLA(BMP180_SLA);	I2C_WriteByte(BMP180_CTRL_MEAS_REG);	I2C_WriteByte(BMP180_T_MEASURE);	I2C_Stop();}
开发者ID:SurionPL,项目名称:ANSI-C,代码行数:12,


示例3: BMP180_StartPressure

/** * @ Opis  	 				Rozpoczyna pomiar cisnienia. * @ Parametry   			Brak. * @ Zwracana wartosc		Brak. */void BMP180_StartPressure() {	I2C_Start();	I2C_Write_SLA(BMP180_SLA);	I2C_WriteByte(BMP180_CTRL_MEAS_REG);	I2C_WriteByte(BMP180_Struct.BMP180_Mode);	I2C_Stop();}
开发者ID:SurionPL,项目名称:ANSI-C,代码行数:12,


示例4: Sensor_Init

/******************************************************************************** Function Name  : Sensor_Init* Description    : Sensor初始化* Input          : None* Output         : None* Return         : None* Attention		 : 返回1成功,返回0失败*******************************************************************************/int Sensor_Init(void){    uint16_t i=0;    uint8_t Sensor_IDCode = 0;    I2C_Configuration();    if( 0 == I2C_WriteByte ( 0x12, 0x80 , ADDR_OV7670 ) )             /* Reset SCCB */    {        return 0 ;    }    Delay(1500);    if( 0 == I2C_ReadByte( &Sensor_IDCode, 1, 0x0b,  ADDR_OV7670 ) )	 /* read ID */    {        return 0;	                              /* error*/    }    if(Sensor_IDCode == OV7670)				  /* ID = OV7670 */    {        for( i=0 ; i < OV7670_REG_NUM ; i++ )        {            if( 0 == I2C_WriteByte(  OV7670_Reg[i][0], OV7670_Reg[i][1] , ADDR_OV7670 ) )            {                return 0;            }        }    }    else										  /* NO ID */    {        return 0;    }    return 1;}
开发者ID:wareash,项目名称:stm32-camera,代码行数:43,


示例5: HotPlugService

void HotPlugService (void) {	DisableInterrupts(0xFF);	Active9232();	if ((HDCP_TxSupports == true)) {		if (HDCP_AksvValid == true) {			// AV MUTE			TPI_DEBUG_PRINT (("TMDS -> Enabled (Video Muted)/n"));			ReadModifyWriteTPI(0x1A, BIT_6 | BIT_4	| BIT_3,				0x40 | 0x00 | 0x08);			tmdsPoweredUp = true;			EnableInterrupts(BIT_0 | 0x02 | 0x10 | 0x20 | 0x40 | 0x80);		}	} else {		TPI_DEBUG_PRINT (("TMDS -> Enabled/n"));		ReadModifyWriteTPI(0x1A, 			BIT_6 | BIT_4 | BIT_3,				0x40 | 0x00 | 0x08);		tmdsPoweredUp = TRUE;		EnableInterrupts(0x01 | 0x02 | 0x10 | 0x40);	}	TxPowerStateD0();	I2C_WriteByte(TPI_SLAVE_ADDR, 0xcd, 0x0);	I2C_WriteByte(TPI_SLAVE_ADDR, 0x19, 0x0);}
开发者ID:Flemmard,项目名称:htc7x30-3.0,代码行数:29,


示例6: GetDDC_Access

bool GetDDC_Access(uint8_t* SysCtrlRegVal){        uint8_t sysCtrl, TPI_ControlImage, DDCReqTimeout = T_DDC_ACCESS;	sysCtrl = I2C_ReadByte(TPI_SLAVE_ADDR, 0x1A);        *SysCtrlRegVal = sysCtrl;        sysCtrl |= BIT_2;        I2C_WriteByte(TPI_SLAVE_ADDR, 0x1A, sysCtrl);        while (DDCReqTimeout--) {                TPI_ControlImage = I2C_ReadByte(TPI_SLAVE_ADDR, 0x1A);                if (TPI_ControlImage & BIT_1) {                        sysCtrl |= BIT_1;                        I2C_WriteByte(TPI_SLAVE_ADDR, 0x1A, sysCtrl);                        return true;                }                I2C_WriteByte(TPI_SLAVE_ADDR, 0x1A, sysCtrl);                DelayMS(200);        }        I2C_WriteByte(TPI_SLAVE_ADDR, 0x1A, sysCtrl);        return false;}
开发者ID:Flemmard,项目名称:htc7x30-3.0,代码行数:25,


示例7: BU9792_Refresh

//************************************************************//BU9792 refresh displayunsigned char BU9792_Refresh(unsigned char * Src, unsigned int Len) {	unsigned char temp = 0, i;	Len = Len;	//I2C_Stop(I2C_BUS_0);	I2C_Start(I2C_BUS_0);	while (I2C_WriteByte(BU9799_ADDR, I2C_BUS_0) && (temp < 218)) {		I2C_Stop(I2C_BUS_0);		DelayMs(1);		I2C_Start(I2C_BUS_0);		temp++;	}	if (temp >= 218) {		I2C_Stop(I2C_BUS_0);		return (0xff);	}	//I2C_WriteByte(LCD_ICSET_M|0x80,I2C_BUS_0) ;	/*high address*/	I2C_WriteByte(LCD_ICSET_M | 0x80, I2C_BUS_0); /* 高地址 */	//I2C_WriteByte(0x00,I2C_BUS_0) ;				/*send data low address*/	I2C_WriteByte(0x00, I2C_BUS_0); /* 发送数据低地址*/	for (i = 0; i < 18; i++) {		//I2C_WriteByte(*Src++,I2C_BUS_0) ;			/*send device address*/		I2C_WriteByte(*Src++, I2C_BUS_0); /* 发送器件地址 */	}	I2C_Stop(I2C_BUS_0);	return 0;}
开发者ID:bnthang,项目名称:single-phase-multy-tarriff,代码行数:37,


示例8: save_adjdata

//保存校准参数//保存区域:FM24C16的 0~12这段地址区间,总共12个字节void save_adjdata(void){	u32 temp;			 	//保存校正结果!	    	temp=penConfig.xfac*100000000;//保存x校正因素  	I2C_WriteByte(temp&0xff, 0, ADDR_24LC08);	I2C_WriteByte((temp>>8)&0xff, 1, ADDR_24LC08);	I2C_WriteByte((temp>>16)&0xff, 2, ADDR_24LC08);	I2C_WriteByte((temp>>24)&0xff, 3, ADDR_24LC08);	temp=penConfig.yfac*100000000;//保存y校正因素	I2C_WriteByte(temp&0xff, 4, ADDR_24LC08);	I2C_WriteByte((temp>>8)&0xff, 5, ADDR_24LC08);	I2C_WriteByte((temp>>16)&0xff, 6, ADDR_24LC08);	I2C_WriteByte((temp>>24)&0xff, 7, ADDR_24LC08);	 	//保存x偏移量	I2C_WriteByte(penConfig.xoff&0xff,8,ADDR_24LC08);	I2C_WriteByte((penConfig.xoff>>8)&0xff,9,ADDR_24LC08);	//保存y偏移量	I2C_WriteByte(penConfig.yoff&0xff,10,ADDR_24LC08);	I2C_WriteByte((penConfig.yoff>>8)&0xff,11,ADDR_24LC08);		I2C_WriteByte(0xff,12,ADDR_24LC08);  //标记校准过了  							 		 }
开发者ID:luckywqf,项目名称:STM32_mp3,代码行数:27,


示例9: I2C_SendAddr

// send address via IIC.BOOL I2C_SendAddr(BYTE DevAddr, WORD Addr, BYTE ReadWriteFlag, BYTE I2cDevice){		I2C_Start(I2cDevice);	if(!I2C_WriteByte(DevAddr, I2cDevice))	{		WaitMs(EEPROM_WRITE_TIME); // Wairt for Programming-time.		I2C_Start(I2cDevice);		if(!I2C_WriteByte(DevAddr, I2cDevice))// | PageAddr))		{			I2C_Stop(I2cDevice);			return FALSE;		}	}	   	if(!I2C_WriteByte((BYTE)Addr, I2cDevice))	{	 	I2C_Stop(I2cDevice);		return FALSE;	}		if(ReadWriteFlag == IIC_READ)	{		I2C_Start(I2cDevice);		if(!I2C_WriteByte((DevAddr | IIC_READ), I2cDevice))		{		 	I2C_Stop(I2cDevice);			return FALSE;		}	}		return TRUE;}
开发者ID:BarryChen,项目名称:au6210_oem_bt168,代码行数:33,


示例10: FM31256_SetTime

/*@brief  设置时间.@param  None.@retval None.*/void FM31256_SetTime (unsigned char *data){	/* 读时间 */	I2C_WriteByte(REG_WRITE,FLAGS,0x2);	I2C_WriteSByte (REG_WRITE, SECONDS, data, 7);	/* 读完要恢复0 */	I2C_WriteByte(REG_WRITE,FLAGS,0);}
开发者ID:qiurenguo2014,项目名称:youjiesun,代码行数:13,


示例11: FM31256_GetTime

/*@brief  获取时间 BCD码.@param  None.@retval None.*/void FM31256_GetTime (unsigned char *data){	/* 读时间 */	I2C_WriteByte(REG_WRITE,FLAGS,1);	I2C_ReadSByte (REG_READ, SECONDS, data, 7);	/* 读完要恢复0 */	I2C_WriteByte(REG_WRITE,FLAGS,0);}
开发者ID:qiurenguo2014,项目名称:youjiesun,代码行数:13,


示例12: Single_WriteI2C

/* *========================================================= * 函数功能:写MPU6050寄存器 * 参数:      *       Regs_Addr - 寄存器地址 *       Regs_Data - 寄存器值 * 函数返回值: *=========================================================    */void Single_WriteI2C(unsigned char Regs_Addr,unsigned char Regs_Data) {     I2C_Start();   I2C_WriteByte(SlaveAddress); 		//先写Slave地址,并配置成写模式   I2C_WriteByte(Regs_Addr);    		//写寄存器地址   I2C_WriteByte(Regs_Data);    		//写寄存器内容   I2C_Stop();                  		//结束本段IIC进程}
开发者ID:JokerGeek,项目名称:Raging_Fire_Quad-rotor,代码行数:17,


示例13: DS3231_SetInfo

//==============================================================================//Sets Information in the RTC.//byte0: Sets "Word Address".//byte1: Sets the information.//==============================================================================void DS3231_SetInfo(unsigned char byte0, unsigned char byte1){    I2C_Start();    I2C_WriteByte(0xD0);    I2C_WriteByte(byte0);    I2C_WriteByte(byte1);    I2C_Stop();    Nop();    Nop();}
开发者ID:recog006,项目名称:rpcMPLABX,代码行数:14,


示例14: HMC5883L_Init

// 磁力计初始化void HMC5883L_Init(void){	// 设置标准数据输出速率为75HZ	I2C_WriteByte(HMC5883L_Addr, HMC5883L_ConfigurationRegisterA, 0x18);	// 设置采样频率为+-1.3Ga	I2C_WriteByte(HMC5883L_Addr, HMC5883L_ConfigurationRegisterB, 0x20);	// 开启连续测量模式	I2C_WriteByte(HMC5883L_Addr, HMC5883L_ModeRegister, 0x00);}
开发者ID:ChenQingya,项目名称:Pheonix,代码行数:10,


示例15: DS3231_GetInfo

//==============================================================================//Gets information of RTC.//byte 0: Sets the "Word Address"//byte1: Return the  information.//==============================================================================unsigned char DS3231_GetInfo(unsigned char byte0){    unsigned char byte1 = 0;    I2C_Start();    I2C_WriteByte(0xD0);    I2C_WriteByte(byte0);    I2C_RepeatedStart();    I2C_WriteByte(0xD1);    byte1 = I2C_ReadByte(0);    I2C_Stop();    return(byte1);}
开发者ID:recog006,项目名称:rpcMPLABX,代码行数:16,


示例16: ReadSector

void ReadSector(char SectorNum, unsigned char *SectorData){	unsigned char RxBuffer[10];	unsigned char IDCode; // needed only if read procedure is different between cut. Today the procedure is identical	//read sector	RxBuffer[0]=SectorNum;	I2C_WriteByte(0xE0,0x45,RxBuffer,1); 	RxBuffer[0]=0xC9;	I2C_WriteByte(0xE0,0x46,RxBuffer,1);	msleep(5); // wait	I2C_ReadByte(0xE0,0x20,SectorData,8); //read RAM}
开发者ID:dflow81,项目名称:android_kernel_samsung_goyawifi,代码行数:13,


示例17: initRTCmodule

unsigned char initRTCmodule(unsigned char devADDR){    unsigned char btemp;        Nop();    Nop();//        I2C_Close();    I2C_Init(39);    // I2C 100 KHZ, 16 MHZ OSC (see note in "myI2C.c")    Nop();    Nop();//     I2C_Start();    I2C_Idle();    btemp = I2C_WriteByte(devADDR);    Nop();    Nop();    Nop();    if (btemp != 0){        Nop();        Nop();        I2C_Stop();        I2C_Close();        return 0xFF;    } else {        btemp = DS3231_GetInfo(0x0F);        Nop();        Nop();                return btemp;    };}
开发者ID:recog006,项目名称:rpcMPLABX,代码行数:30,


示例18: I2C_ReadRepeated

int I2C_ReadRepeated(I2C_ConfigStruct* conf, uint8_t addr, uint8_t* data, uint32_t len){    int i;    I2C_Start(conf);    //Write addr | read command    if(I2C_WriteByte(conf, (addr | 1)) != 0)    {        printf("Received NACK at address phase!!/r/n");        return -1;    }    //Read data    for(i=0; i<len; i++)    {        data[i] = I2C_ReadByte(conf);        if( i == (len - 1) )            I2C_SendNACK(conf);        else            I2C_SendACK(conf);    }    return 0;//success}
开发者ID:bingdo,项目名称:Loopback_BSD_WIZwiki-W7500_Eclipse,代码行数:26,


示例19: i2c_imx_write

static bool i2c_imx_write(struct device *dev, u8_t *txBuffer, u8_t txSize){	I2C_Type *base = DEV_BASE(dev);	struct i2c_imx_data *data = DEV_DATA(dev);	struct i2c_master_transfer *transfer = &data->transfer;	transfer->isBusy = true;	/* Clear I2C interrupt flag to avoid spurious interrupt */	I2C_ClearStatusFlag(base, i2cStatusInterrupt);	/* Set I2C work under Tx mode */	I2C_SetDirMode(base, i2cDirectionTransmit);	transfer->currentDir = i2cDirectionTransmit;	transfer->txBuff = txBuffer;	transfer->txSize = txSize;	I2C_WriteByte(base, *transfer->txBuff);	transfer->txBuff++;	transfer->txSize--;	/* Enable I2C interrupt, subsequent data transfer will be handled	 * in ISR.	 */	I2C_SetIntCmd(base, true);	/* Wait for the transfer to complete */	k_sem_take(&data->device_sync_sem, K_FOREVER);	return transfer->ack;}
开发者ID:milinddeore,项目名称:zephyr,代码行数:32,


示例20: PressureSensorRegRead

I2C_Status PressureSensorRegRead(uint8_t reg, uint8_t* val){    I2C_Status retVal = I2C_OK;        do    {        I2C_Start(ALB_I2C, MPL311_ADDR, 0);        retVal = I2C_WriteByte(ALB_I2C, reg);        if(retVal != I2C_OK)        {            break;        }        retVal = I2C_WaitForTX(ALB_I2C);        if(retVal != I2C_OK)        {            break;        }                I2C_Start(ALB_I2C, MPL311_ADDR, 1);                if((retVal = I2C_ReadBytes(ALB_I2C, val, 1)) != I2C_OK)        {            break;        }                I2C_Stop(ALB_I2C);    } while(0);        return retVal;}
开发者ID:project-reservoir,项目名称:project-dandelion,代码行数:30,


示例21: InitForceUsbIdSwitchOpen

static void InitForceUsbIdSwitchOpen (void){    I2C_WriteByte(0x72, 0x90, 0x26);					// Disable CBUS discovery    ReadModifyWriteTPI(0x95, SI_BIT_6, SI_BIT_6);				// Force USB ID switch to open    ReadModifyWriteTPI(0x95, SI_BIT_6, SI_BIT_6);				// Force USB ID switch to open    WriteByteTPI(0x92, 0x46);						// Force MHD mode}
开发者ID:humcycles,项目名称:galaxy-tab-modified,代码行数:7,


示例22: AccelerometerRegRead

I2C_Status AccelerometerRegRead(uint8_t reg, uint8_t* val){    I2C_Status retVal = I2C_OK;        do    {        I2C_Start(ALB_I2C, LIS2DH_ADDR, 0);        retVal = I2C_WriteByte(ALB_I2C, reg);        if(retVal != I2C_OK)        {            break;        }        retVal = I2C_WaitForTX(ALB_I2C);        if(retVal != I2C_OK)        {            break;        }                I2C_Start(ALB_I2C, LIS2DH_ADDR, 1);                if((retVal = I2C_ReadBytes(ALB_I2C, val, 1)) != I2C_OK)        {            break;        }                I2C_Stop(ALB_I2C);    } while(0);        return retVal;}
开发者ID:project-reservoir,项目名称:project-dandelion,代码行数:30,


示例23: ReadPressureSensor

// Read the altimeter. This function will // block the calling task until the entire sensor read has been completedI2C_Status ReadPressureSensor(uint32_t* altOut){    I2C_Status retVal = I2C_OK;    uint32_t temp = 0;        taskENTER_CRITICAL();        do    {        retVal = PressureSensorRegWrite(MPL3115A2_CTRL_REG1, MPL3115A2_CTRL_REG1_SBYB | MPL3115A2_CTRL_REG1_OS128 | MPL3115A2_CTRL_REG1_ALT);        if(retVal != I2C_OK)        {            break;        }                uint8_t sta = 0;        while (! (sta & MPL3115A2_REGISTER_STATUS_PDR)) {            retVal = PressureSensorRegRead(MPL3115A2_REGISTER_STATUS, &sta);            // TODO: a delay here would be nice to prevent slamming the I2C bus        }                I2C_Start(ALB_I2C, MPL311_ADDR, 0);                retVal = I2C_WriteByte(ALB_I2C, MPL3115A2_REGISTER_PRESSURE_MSB);                if(retVal != I2C_OK)        {            break;        }                retVal = I2C_WaitForTX(ALB_I2C);                if(retVal != I2C_OK)        {            break;        }                I2C_Start(ALB_I2C, MPL311_ADDR, 1);                if((retVal = I2C_ReadBytes(ALB_I2C, i2cRxBuffer, 3)) != I2C_OK)        {            break;        }                I2C_Stop(ALB_I2C);                // Process returned data        temp = i2cRxBuffer[0] << 24;        temp |= i2cRxBuffer[1] << 16;        temp |= i2cRxBuffer[2] << 8;                *altOut = temp;    } while(0);        taskEXIT_CRITICAL();        return retVal;}
开发者ID:project-reservoir,项目名称:project-dandelion,代码行数:61,


示例24: I2cWritePT2313

BOOL I2cWritePT2313(BYTE ivol){	BOOL acktemp = 0;#if defined(FUNC_PT231X_IIC)||defined(AU6210K_NR_D_8_CSRBT)	I2C_Start(PT231X_IIC);    acktemp = I2C_WriteByte(PT231X_AD,PT231X_IIC);	acktemp |= I2C_WriteByte(ivol,PT231X_IIC);	I2C_Stop(PT231X_IIC);	#else	I2C_Start(EEPROM_IIC);    acktemp = I2C_WriteByte(PT231X_AD,EEPROM_IIC);	acktemp |= I2C_WriteByte(ivol,EEPROM_IIC);	I2C_Stop(EEPROM_IIC);	#endif	return acktemp;}						
开发者ID:BarryChen,项目名称:au6210_oem_bt168,代码行数:17,


示例25: Set_NDOF_mode

void Set_NDOF_mode(){	//Failure flag	uint8_t failedWrite = 0;		//Set IMU to NDOF mode	I2C_WriteByte(0x28, 0x3d, 0b00001100, PIO_Data, PIO_DDIR, &failedWrite);}
开发者ID:thomasrader,项目名称:BalloonObservatory,代码行数:8,


示例26: InitCBusRegs

void InitCBusRegs(void){    I2C_WriteByte(0xC8, 0x1F, 0x02); 			// Heartbeat Max Fail Enable    I2C_WriteByte(0xC8, 0x07, DDC_XLTN_TIMEOUT_MAX_VAL | 0x06); 			// Increase DDC translation layer timer    I2C_WriteByte(0xC8, 0x40, 0x03); 			// CBUS Drive Strength    I2C_WriteByte(0xC8, 0x42, 0x06); 			// CBUS DDC interface ignore segment pointer    I2C_WriteByte(0xC8, 0x36, 0x0C);    //I2C_WriteByte(0xC8, 0x44, 0x02);    I2C_WriteByte(0xC8, 0x3D, 0xFD);    I2C_WriteByte(0xC8, 0x1C, 0x00);    I2C_WriteByte(0xC8, 0x44, 0x00);    I2C_WriteByte(0xC8, 0x09, 0x60);			// Enable PVC Xfer aborted / follower aborted}
开发者ID:humcycles,项目名称:galaxy-tab-modified,代码行数:14,


示例27: Single_ReadI2C

/* *========================================================= * 函数功能:读MPU6050单字节 * 参数
C++ I2C_WriteDeviceRegister函数代码示例
C++ I2C_Write函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。