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

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

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

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

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

示例1: i2cWriteBuffer

bool i2cWriteBuffer(uint8_t addr, uint8_t reg, uint8_t len, uint8_t * data){    int i;    if (!I2C_Start())        return false;    I2C_SendByte(addr << 1 | I2C_Direction_Transmitter);    if (!I2C_WaitAck())     {        I2C_Stop();        return false;    }    I2C_SendByte(reg);    I2C_WaitAck();    for (i = 0; i < len; i++)     {        I2C_SendByte(data[i]);        if (!I2C_WaitAck())         {            I2C_Stop();            return false;        }    }    I2C_Stop();    return true;}
开发者ID:jiaohaitao,项目名称:9DOF_IMU,代码行数:25,


示例2: I2C_SendByte

int I2C_SW::read_regs(uint8_t SlaveAddress, uint8_t startRegister, uint8_t*out, int count){	int i;	if (!I2C_Start()) {			return -1;	}	I2C_SendByte(SlaveAddress&0xFE);	if (!I2C_WaitAck()) {			I2C_Stop();			return -1;	}	I2C_SendByte(startRegister);	I2C_WaitAck();	I2C_Start();	I2C_SendByte((SlaveAddress&0xFE)|0x01);	I2C_WaitAck();	for(i=0; i<count; i++)	{		out[i] = I2C_ReceiveByte();		if (i==count-1)			I2C_SendNoAck();		else			I2C_SendAck();	}	I2C_Stop();		return 0;}
开发者ID:dreamkeep,项目名称:Acantha,代码行数:35,


示例3: i2cRead

bool i2cRead(I2CDevice device, uint8_t addr, uint8_t reg, uint8_t len, uint8_t *buf){    UNUSED(device);        if (!I2C_Start()) {        return false;    }    I2C_SendByte(addr << 1 | I2C_Direction_Transmitter);    if (!I2C_WaitAck()) {        I2C_Stop();        i2cErrorCount++;        return false;    }    I2C_SendByte(reg);    I2C_WaitAck();    I2C_Start();    I2C_SendByte(addr << 1 | I2C_Direction_Receiver);    I2C_WaitAck();    while (len) {        *buf = I2C_ReceiveByte();        if (len == 1) {            I2C_NoAck();        }        else {            I2C_Ack();        }        buf++;        len--;    }    I2C_Stop();    return true;}
开发者ID:NZFez,项目名称:betaflight,代码行数:32,


示例4: readTemp

static unsigned int readTemp() {	//int ret;	unsigned long temp = 0;	int cnt = 0;	repeat: if (cnt++ > 100) {		return -1;	}	I2C_Stop();	mdelay(1);	I2C_Start();	if (I2C_Send(MLX90615_ADDR, 1) == -1)		goto repeat;	if (I2C_Send(0x27, 1) == -1)		goto repeat;	//I2C_Stop();	I2C_Start();	if (I2C_Send(MLX90615_ADDR | 1, 1) == -1)		goto repeat;	temp = IIC_Receive(1) | (IIC_Receive(1) << 8);	IIC_Receive(1);	I2C_Stop();	/*	gTemp = temp;	 gTemp = temp * 2 - 27315;*/	return temp;}
开发者ID:herochengm,项目名称:phyTemper,代码行数:28,


示例5: i2cWriteBuffer

bool i2cWriteBuffer(I2CDevice device, uint8_t addr, uint8_t reg, uint8_t len, uint8_t * data){    UNUSED(device);        int i;    if (!I2C_Start()) {        i2cErrorCount++;        return false;    }    I2C_SendByte(addr << 1 | I2C_Direction_Transmitter);    if (!I2C_WaitAck()) {        I2C_Stop();        return false;    }    I2C_SendByte(reg);    I2C_WaitAck();    for (i = 0; i < len; i++) {        I2C_SendByte(data[i]);        if (!I2C_WaitAck()) {            I2C_Stop();            i2cErrorCount++;            return false;        }    }    I2C_Stop();    return true;}
开发者ID:NZFez,项目名称:betaflight,代码行数:27,


示例6: 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,


示例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: i2cRead

bool i2cRead(uint8_t addr, uint8_t reg, uint8_t len, uint8_t *buf){    if (!I2C_Start())        return false;    I2C_SendByte(addr << 1 | I2C_Direction_Transmitter);    if (!I2C_WaitAck()) {        I2C_Stop();        return false;    }    I2C_SendByte(reg);    I2C_WaitAck();    I2C_Start();    I2C_SendByte(addr << 1 | I2C_Direction_Receiver);    I2C_WaitAck();    while (len) {        *buf = I2C_ReceiveByte();        if (len == 1)            I2C_NoAck();        else            I2C_Ack();        buf++;        len--;    }    I2C_Stop();    return true;}
开发者ID:AlienWiiBF,项目名称:baseflight,代码行数:26,


示例9: InitTempSensor

I2C_Status InitTempSensor(uint8_t index){            I2C_Status retVal = I2C_OK;        // Write the config values into the TX buffer    i2cTxBuffer[0] = TMP102_CONFIG_1_VAL;    i2cTxBuffer[1] = TMP102_CONFIG_2_VAL;        taskENTER_CRITICAL();        // TODO: log something if the sensor fails to initialize    do    {        // I2C Write        I2C_Start(SLB_I2C, GetTmp102Addr(index), 0);        retVal = I2C_WriteByte(SLB_I2C, TMP102_CONFIG_ADDR);        if(retVal != I2C_OK)        {            break;        }        retVal = I2C_WaitForTX(SLB_I2C);        if(retVal != I2C_OK)        {            break;        }        I2C_Stop(SLB_I2C);                // I2C Write        I2C_Start(SLB_I2C, GetTmp102Addr(index), 0);        retVal = I2C_WriteBytes(SLB_I2C, i2cTxBuffer, 2);        if(retVal != I2C_OK)        {            break;        }        retVal = I2C_WaitForTX(SLB_I2C);        if(retVal != I2C_OK)        {            break;        }        I2C_Stop(SLB_I2C);                // I2C Read        I2C_Start(SLB_I2C, GetTmp102Addr(index), 1);                if((retVal = I2C_ReadBytes(SLB_I2C, i2cRxBuffer, 2)) != I2C_OK)        {            break;        }                I2C_Stop(SLB_I2C);            }while(0);        taskEXIT_CRITICAL();        return retVal;}
开发者ID:project-reservoir,项目名称:project-dandelion,代码行数:57,


示例10: MPU6050_WriteByte

/********************单字节写入***********************/uint8_t MPU6050_WriteByte(uint8_t SlaveAddress,uint8_t REG_Address,uint8_t REG_data)		   {	if(!I2C_Start())return 0;    I2C_SendByte(SlaveAddress);   //发送设备地址+写信号//I2C_SendByte(((REG_Address & 0x0700) >>7) | SlaveAddress & 0xFFFE);//设置高起始地址+器件地址     if(!I2C_WaitAck()){I2C_Stop(); return 0;}    I2C_SendByte(REG_Address );   //设置低起始地址          if(!I2C_WaitAck()){I2C_Stop(); return 0;}//I2C_WaitAck();	    I2C_SendByte(REG_data);    if(!I2C_WaitAck()){I2C_Stop(); return 0;}//I2C_WaitAck();       I2C_Stop();     return 1;}
开发者ID:Niugge,项目名称:2016.01.20,代码行数:13,


示例11: Single_Write

uint16_t Single_Write(unsigned char SlaveAddress,unsigned char REG_Address,unsigned char REG_data)		     //void{  	if(!I2C_Start())return FALSE;    I2C_SendByte(SlaveAddress);   //发送设备地址+写信号//I2C_SendByte(((REG_Address & 0x0700) >>7) | SlaveAddress & 0xFFFE);//设置高起始地址+器件地址     if(!I2C_WaitAck()){I2C_Stop(); return FALSE;}    I2C_SendByte(REG_Address );   //设置低起始地址          I2C_WaitAck();	    I2C_SendByte(REG_data);    I2C_WaitAck();       I2C_Stop();     delay5ms();    return TRUE;}
开发者ID:sqrgj,项目名称:All-In-One-Chassis,代码行数:13,


示例12: Single_Write

bool Single_Write(unsigned char SlaveAddress,unsigned char REG_Address,unsigned char REG_data)		     //void{  	if(!I2C_Start())return FALSE;    I2C_SendByte(SlaveAddress);   //发送设备地址+写信号    if(!I2C_WaitAck()){I2C_Stop(); return FALSE;}    I2C_SendByte(REG_Address );   //设置低起始地址          I2C_WaitAck();	    I2C_SendByte(REG_data);    I2C_WaitAck();       I2C_Stop();     delay5ms();    return TRUE;}
开发者ID:HapCoderWei,项目名称:MiniQ,代码行数:13,


示例13: BU9792_Init

//************************************************************//BU9792 initializationunsigned char BU9792_Init(void) {	unsigned char temp = 0, i;	//BU9792_Set(LCD_OFF);					//turn off display first	BU9792_Set(LCD_OFF);					//先关闭显示	//I2C_Stop(I2C_BUS_0);	I2C_Start(I2C_BUS_0);	while (I2C_WriteByte(BU9799_ADDR, I2C_BUS_0) && (temp < 3)) {		I2C_Stop(I2C_BUS_0);		DelayMs(1);		I2C_Start(I2C_BUS_0);		temp++;	}	if (temp >= 3) {		I2C_Stop(I2C_BUS_0);		return (0xff);	}	//I2C_WriteByte(LCD_ICSET|0x80,I2C_BUS_0) ;				//reset	I2C_WriteByte(LCD_ICSET | 0x80, I2C_BUS_0);				//复位	//I2C_WriteByte(LCD_POWER_NORMAL|0x80,I2C_BUS_0) ;		//normal power consumption	I2C_WriteByte(LCD_POWER_NORMAL | 0x80, I2C_BUS_0);		//正常功耗	// I2C_WriteByte(LCD_BLINK_OFF|0x80,I2C_BUS_0) ;			//turn off flicker	I2C_WriteByte(LCD_BLINK_OFF | 0x80, I2C_BUS_0);			//关闭闪烁	I2C_WriteByte(LCD_PIXEL_NORMAL | 0x80, I2C_BUS_0);		//	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(0xff,I2C_BUS_0) ;					/* send device address		I2C_WriteByte(0xff, I2C_BUS_0); /* 发送器件地址 */	}	I2C_Stop(I2C_BUS_0);	//BU9792_Set(LCD_ON);							//start LCD	BU9792_Set(LCD_ON);							//开启LCD	return 0;}
开发者ID:bnthang,项目名称:single-phase-multy-tarriff,代码行数:52,


示例14: address

/* -------------------------------------------------------------------    Name: I2C_TxRepeat -    Purpose: To transmit the same data to I2C slave device repeatly via I2C.    Passed:        UB8  bSLA   = I2C slave address.        UW16 wREG   = I2C register address.        UB8  bCNT   = The number of data which will be transmitted            excluding slave and register address (bCNT: 1..255).        UB8  bDATA  = The repeated data.    Returns: None.    Notes:   ------------------------------------------------------------------- */void I2C_TxRepeat (UB8  bSLA,          /* BITEK slave address */UW16 wREG,          /* BITEK register address */UB8  bCNT,          /* The number of data which will be transmitted */UB8  bDATA          /* The repeated DATA */){    UB8 bIdx;    if (bCNT == 0)        return;    I2C_Start();    I2C_TxData(bSLA | (((wREG) >> 7) & 0x1E));    I2C_GetACK();    I2C_TxData(wREG);    I2C_GetACK();    /* --------------------------------        Write Data       -------------------------------- */    for (bIdx = bCNT; bIdx; bIdx--)    {        I2C_TxData(bDATA);        I2C_GetACK();    } /* for */    I2C_Stop();} /* I2C_TxRepeat */
开发者ID:github188,项目名称:NT9665X_GMD_V18,代码行数:47,


示例15: 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,


示例16: ReadNbyte

void ReadNbyte(u8 addr, u8 *p, u8 number)				/*	WordAddress,First Data Address,Byte lenth	*/                         									//F0=0,right, F0=1,error{	I2C_Start();	I2C_WriteAbyte(SLAW);	I2C_Check_ACK(1);	if(!F0)	{		I2C_WriteAbyte(addr);		I2C_Check_ACK(1);		if(!F0)		{			I2C_Start();			I2C_WriteAbyte(SLAR);			I2C_Check_ACK(1);			if(!F0)			{				do				{					*p = I2C_ReadAbyte();	p++;					if(number != 1)		S_ACK();	//send ACK				}				while(--number);				S_NoACK();			//send no ACK			}		}	}	I2C_Stop();}
开发者ID:cjeeks,项目名称:MCU-Development,代码行数:29,


示例17: AccelerometerRegWrite

I2C_Status AccelerometerRegWrite(uint8_t reg, uint8_t val){    I2C_Status retVal = I2C_OK;    uint8_t tmp[2];        tmp[0] = reg;    tmp[1] = val;        do    {        I2C_Start(ALB_I2C, LIS2DH_ADDR, 0);        retVal = I2C_WriteBytes(ALB_I2C, tmp, 2);        if(retVal != I2C_OK)        {            break;        }                retVal = I2C_WaitForTX(ALB_I2C);        if(retVal != I2C_OK)        {            break;        }                I2C_Stop(ALB_I2C);    } while(0);        return retVal;}
开发者ID:project-reservoir,项目名称:project-dandelion,代码行数:28,


示例18: 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,


示例19: 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,


示例20: PressureSensorRegWrite

I2C_Status PressureSensorRegWrite(uint8_t reg, uint8_t val){    I2C_Status retVal = I2C_OK;    uint8_t tmp[2];        tmp[0] = reg;    tmp[1] = val;        do    {        I2C_Start(ALB_I2C, MPL311_ADDR, 0);        retVal = I2C_WriteBytes(ALB_I2C, tmp, 2);        if(retVal != I2C_OK)        {            break;        }                retVal = I2C_WaitForTX(ALB_I2C);        if(retVal != I2C_OK)        {            break;        }                I2C_Stop(ALB_I2C);    } while(0);        return retVal;}
开发者ID:project-reservoir,项目名称:project-dandelion,代码行数:28,


示例21: I2C_ReadRegister

unsigned char I2C_ReadRegister(unsigned char u8SlaveAddress, unsigned char u8RegisterAddress){	unsigned char result;	I2C_Start();	I2C0_D = u8SlaveAddress << 1;									/* Send I2C device address with W/R bit = 0 */	I2C_Wait();	I2C0_D = u8RegisterAddress;										/* Send register address */	I2C_Wait();	I2C_RepeatedStart();	I2C0_D = (u8SlaveAddress << 1) | 0x01;							/* Send I2C device address this time with W/R bit = 1 */	I2C_Wait();	I2C_EnterRxMode();	I2C_DisableAck();	result = I2C0_D;	I2C_Wait();	I2C_Stop();	result = I2C0_D;	Pause(50);	return result;}
开发者ID:RGassmann,项目名称:FRDM,代码行数:26,


示例22: write_RTC_I2c

void write_RTC_I2c(){    I2C_Idle();    I2C_Start(); // Inicializa a comunica
C++ I2C_TransferHandling函数代码示例
C++ I2C_Send7bitAddress函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。