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

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

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

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

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

示例1: LM75_GetStatus

/**  * @brief  Checks the LM75 status.  * @param  None  * @retval ErrorStatus: LM75 Status (ERROR or SUCCESS).  */ErrorStatus LM75_GetStatus(void){  uint32_t I2C_TimeOut = I2C_TIMEOUT;  /*!< Clear the LM75_I2C AF flag */  I2C_ClearFlag(LM75_I2C, I2C_FLAG_AF);  /*!< Enable LM75_I2C acknowledgement if it is already disabled by other function */  I2C_AcknowledgeConfig(LM75_I2C, ENABLE);  /*---------------------------- Transmission Phase ---------------------------*/  /*!< Send LM75_I2C START condition */  I2C_GenerateSTART(LM75_I2C, ENABLE);  /*!< Test on LM75_I2C EV5 and clear it */  while ((!I2C_GetFlagStatus(LM75_I2C,I2C_FLAG_SB)) && I2C_TimeOut)  /*!< EV5 */  {    I2C_TimeOut--;  }  if (I2C_TimeOut == 0)  {    return ERROR;  }    I2C_TimeOut = I2C_TIMEOUT;  /*!< Send STLM75 slave address for write */  I2C_Send7bitAddress(LM75_I2C, LM75_ADDR, I2C_Direction_Transmitter);  while ((!I2C_CheckEvent(LM75_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) && I2C_TimeOut)/* EV6 */  {    I2C_TimeOut--;  }  if ((I2C_GetFlagStatus(LM75_I2C, I2C_FLAG_AF) != 0x00) || (I2C_TimeOut == 0))  {    return ERROR;  }  else  {    return SUCCESS;  }}
开发者ID:0x00f,项目名称:STM32F1-workarea,代码行数:49,


示例2: i2c_write

int i2c_write(i2c_t *obj, int address, const char *data, int length, int stop) {    I2C_TypeDef *i2c = (I2C_TypeDef *)(obj->i2c);    int timeout;    int count;  /*    // Wait until the bus is not busy anymore    timeout = LONG_TIMEOUT;    while (I2C_GetFlagStatus(i2c, I2C_FLAG_BUSY) == SET) {        timeout--;        if (timeout == 0) {            return 0;        }    }*/    i2c_start(obj);    // Send slave address for write    I2C_Send7bitAddress(i2c, address, I2C_Direction_Transmitter);      // Wait address is acknowledged    timeout = FLAG_TIMEOUT;    while (I2C_CheckEvent(i2c, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED) == ERROR) {        timeout--;        if (timeout == 0) {            return 0;        }    }    for (count = 0; count < length; count++) {        if (i2c_byte_write(obj, data[count]) != 1) {            i2c_stop(obj);            return 0;        }    }    // If not repeated start, send stop.    if (stop) {        i2c_stop(obj);    }    return count;}
开发者ID:23chrischen,项目名称:mbed,代码行数:44,


示例3: I2C_Write

Status I2C_Write(I2C_TypeDef* I2Cx, const uint8_t* buf,  uint32_t nbyte, uint8_t SlaveAddress){    __IO uint32_t Timeout = 0;    /* Enable Error IT (used in all modes: DMA, Polling and Interrupts */    //    I2Cx->CR2 |= I2C_IT_ERR;    if (nbyte)      {	Timed(I2C_GetFlagStatus(I2Cx, I2C_FLAG_BUSY));	// Intiate Start Sequence	I2C_GenerateSTART(I2Cx, ENABLE);	Timed(!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_MODE_SELECT));	// Send Address  EV5	I2C_Send7bitAddress(I2Cx, SlaveAddress, I2C_Direction_Transmitter);    //Timed(!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));	// EV6	// Write first byte EV8_1	I2C_SendData(I2Cx, *buf++);	while (--nbyte) {	  // wait on BTF      //Timed(!I2C_GetFlagStatus(I2Cx, I2C_FLAG_BTF));	  I2C_SendData(I2Cx, *buf++);	}    //Timed(!I2C_GetFlagStatus(I2Cx, I2C_FLAG_BTF));	I2C_GenerateSTOP(I2Cx, ENABLE);    //Timed(I2C_GetFlagStatus(I2C1, I2C_FLAG_STOPF));      }    return Success; errReturn:    return Error;}
开发者ID:metropt,项目名称:stm32bookexercises,代码行数:43,


示例4: AT24_Read

uint32_t AT24_Read(uint16_t Addr, uint8_t *pdata, int size){  uint32_t Timeout;     I2C_AcknowledgeConfig(I2C1, ENABLE);      Timeout = I2C_TIMEOUT;     while(I2C_GetFlagStatus(I2C1, I2C_FLAG_BUSY)) { if((Timeout--) == 0) return 1; }   I2C_GenerateSTART(I2C1, ENABLE);   Timeout = I2C_TIMEOUT;     while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) { if((Timeout--) == 0) return 1; }   I2C_Send7bitAddress(I2C1, 0xA0, I2C_Direction_Transmitter);  Timeout = I2C_TIMEOUT;     while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)) { if((Timeout--) == 0) return 1; }   I2C_SendData(I2C1, (uint8_t)((Addr & 0xFF00) >> 8));   Timeout = I2C_TIMEOUT;     while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) { if((Timeout--) == 0) return 1; }   I2C_SendData(I2C1, (uint8_t)(Addr & 0x00FF));   Timeout = I2C_TIMEOUT;     while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)) { if((Timeout--) == 0) return 0; }   I2C_GenerateSTART(I2C1, ENABLE);   Timeout = I2C_TIMEOUT;     while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) { if((Timeout--) == 0) return 1; }   I2C_Send7bitAddress(I2C1, 0xA1, I2C_Direction_Receiver);   while(size-- > 0)  {    Timeout = I2C_TIMEOUT;       while(!I2C_CheckEvent(I2C1,I2C_EVENT_MASTER_BYTE_RECEIVED))    {      if((Timeout--) == 0) return 1;     }    *(pdata++) = I2C_ReceiveData(I2C1);  }    I2C_AcknowledgeConfig(I2C1, DISABLE);  I2C_GenerateSTOP(I2C1, ENABLE);  return 0;}
开发者ID:TSURKOVSERGEY,项目名称:sdi,代码行数:50,


示例5: ucI2C_ReadAck

uint8_t ucI2C_ReadAck(I2C_TypeDef* I2Cx) {	uint8_t data;	/* Enable ACK */	I2Cx->CR1 |= I2C_CR1_ACK;	/* Wait till not received */	TM_I2C_Timeout = TM_I2C_TIMEOUT;	while (!I2C_CheckEvent(I2Cx, I2C_EVENT_MASTER_BYTE_RECEIVED)) {		if (--TM_I2C_Timeout == 0x00) {			return 1;		}	}	/* Read data */	data = I2Cx->DR;	/* Return data */	return data;}
开发者ID:torcek,项目名称:AUTOPILOT,代码行数:20,


示例6: sEE_I2C_DMA_TX_IRQHandler

/**  * @brief  This function handles the DMA Tx Channel interrupt Handler.  *     @note This function should be called in the  *       DMA1_CHANNEL2_3_IRQHandler in the stm8l15x_it.c file.  *  *       // INTERRUPT_HANDLER(DMA1_CHANNEL2_3_IRQHandler, 3)  *       // {  *           // sEE_I2C_DMA_TX_IRQHandler();  *       // }  * @param  None  * @retval None  */void sEE_I2C_DMA_TX_IRQHandler(void){    /* Check if the DMA transfer is complete */    if (DMA_GetFlagStatus(sEE_I2C_DMA_FLAG_TX_TC) != RESET)    {        /* Disable the DMA Tx Channel and Clear all its Flags */        DMA_Cmd(sEE_I2C_DMA_CHANNEL_TX, DISABLE);        DMA_ClearFlag(sEE_I2C_DMA_FLAG_TX_TC);        /*!< Wait till all data have been physically transferred on the bus */        while (!I2C_CheckEvent(sEE_I2C, I2C_EVENT_MASTER_BYTE_TRANSMITTED))        {}        /*!< Send STOP condition */        I2C_GenerateSTOP(sEE_I2C, ENABLE);        /* Reset the variable holding the number of data to be written */        *sEEDataWritePointer = 0;    }}
开发者ID:glockwork,项目名称:ev-stm8l151k6-emotor,代码行数:32,


示例7: Temp_Read

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