这篇教程C++ I2C_ClearFlag函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中I2C_ClearFlag函数的典型用法代码示例。如果您正苦于以下问题:C++ I2C_ClearFlag函数的具体用法?C++ I2C_ClearFlag怎么用?C++ I2C_ClearFlag使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了I2C_ClearFlag函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: f3d_i2c1_read_nunchuk// Make this so we can handle if the nunchuk is disconnectedvoid f3d_i2c1_read_nunchuk (uint8_t device, uint8_t* buffer, uint16_t numbytes) {tryagain: ; int count = 100; while (I2C_GetFlagStatus(I2C1, I2C_ISR_BUSY) != RESET){ } I2C_TransferHandling(I2C1, 0xA4, 1, I2C_AutoEnd_Mode, I2C_Generate_Start_Write); // This is where were screwing up while ((I2C_GetFlagStatus(I2C1, I2C_ISR_TXIS) == RESET) && count){ asm("nop"); count--; } if (count <= 0) { goto tryagain; } I2C_SendData(I2C1,0x00); while(I2C_GetFlagStatus(I2C1, I2C_ISR_STOPF) == RESET){ } I2C_ClearFlag(I2C1, I2C_ICR_STOPCF); delay(1); while (I2C_GetFlagStatus(I2C1, I2C_ISR_BUSY) != RESET) { } I2C_TransferHandling(I2C1, 0xA4, 6, I2C_AutoEnd_Mode, I2C_Generate_Start_Read); while (numbytes--) { while(I2C_GetFlagStatus(I2C1, I2C_ISR_RXNE) == RESET); *buffer++ = I2C_ReceiveData(I2C1); } while (I2C_GetFlagStatus(I2C1, I2C_ISR_STOPF) == RESET); I2C_ClearFlag(I2C1, I2C_ICR_STOPCF);}
开发者ID:tzakian,项目名称:STM-32-asteroids,代码行数:35,
示例2: I2C_AcknowledgePolling/*TODO: If your device need more time to initialize I2C bus or waiting memory write, you can use I2C_AcknowledgePolling avoid I2C bus lose.*/Status I2C_AcknowledgePolling(I2C_TypeDef* I2Cx ,uint8_t Addr){ uint32_t timeout = 0xFFFF, ret; uint16_t tmp; ret = rt_mutex_take(i2c_mux, RT_WAITING_FOREVER ); if( ret == RT_EOK ) { do{ if( timeout-- <= 0 ) { I2C_ClearFlag(I2Cx,I2C_FLAG_AF); I2Cx->CR1 |= CR1_STOP_Set; rt_mutex_release(i2c_mux); return Error; } I2Cx->CR1 |= CR1_START_Set; tmp = I2Cx->SR1;// C++ I2C_Cmd函数代码示例 C++ I2C_CheckEvent函数代码示例
|