* - Enable the acknowledge feature using I2C_AcknowledgeConfig() function * - Enable the dual addressing mode using I2C_DualAddressCmd() function * - Enable the general call using the I2C_GeneralCallCmd() function * - Enable the clock stretching using I2C_StretchClockCmd() function * - Enabl...
I2C_AcknowledgeConfig(I2C2, DISABLE);//应答位 -- 置0非应答 I2C_GenerateSTOP(I2C2, ENABLE);//I2C停止位 MPU6050_WaitEvent(I2C2, I2C_EVENT_MASTER_BYTE_RECEIVED);//EV7事件 -- RXNE=1,表示数据寄存器非空,表示可以读取DR数据了 Data = I2C_ReceiveData(I2C2);//读取数据 I2C_AcknowledgeConfig(I2C...
USART_config(); I2C_EE_config(); printf("这是一个IIC通讯实验\n"); // 写入一个字节 EEPROM_Byte_Write(11, 0X55); // 确认轮询操作,等待EEPROM写入完成 EEPROM_WaitForWriteEnd(); // 读取数据 EEPROM_Read(11, readData, 1); printf("\n接收到的数据为: %#X", readData[0]); while (1)...
I2C_AcknowledgeConfig(CW_I2C1,ENABLE);//读取数据超过1个字节才发送ACK } break; case 0x50: //接收完一字节数据,在接收最后1字节数据之前设置AA=0; u8Recdata[u8RecvLen++] = I2C_ReceiveData(CW_I2C1); if(u8RecvLen==READLEN-1) { I2C_AcknowledgeConfig(CW_I2C1,DISABLE);; } break; } I2C_C...
I2C_AcknowledgeConfig(USER_I2C, DISABLE); USER_I2C->SR2; I2C_GenerateSTOP(USER_I2C, ENABLE);while(I2C_GetFlagStatus(USER_I2C, I2C_FLAG_RXNE) ==RESET);*data =I2C_ReceiveData(USER_I2C);while(USER_I2C->CR1 &I2C_CR1_STOP); I2C_AcknowledgeConfig(USER_I2C, ENABLE); ...
int fputc(int ch,FILE *f) //重定向C库函数,可使用printf { USART_SendData(USART1,(u8) ch); while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET); //等待发送完毕 return ch; } int fgetc(FILE *f) //重定向后可使用scan、getchar ...
I2C_AcknowledgeConfig(I2C1, DISABLE);/* Clear ADDR register by reading SR1 then SR2 register (...
例如:I2C_AcknowledgeConfig(I2C1 , ENABLE); 10.void I2C_OwnAddress2Config(I2C_TypeDef* I2Cx, uint8_t Address) 功能:配置指定的I2C自身地址2 注释:I2C_OwnAddress1 在结构体内被赋值; 双地址模式使能,OAR2才会被识别; I2C_OwnAddress_x是STM32设备本身的地址,当STM32作为主设备,不用关心该地址设置,随...
如果ACK一段时间没返回主设备马上AF。。结果经常死在I2C_CheckEvent 解决办法:一:不要用库,每一段...
这段中的写过程跟前面的写字节函数类似,而读过程中接收数据时,需要使用库函数I2C_ReceiveData 来读取。响应信号则通过库函数I2C_AcknowledgeConfig 来发送,DISABLE 时为非响应信号,ENABLE 为响应信号。 main 文件 EEPROM 读写测试函数 完成基本的读写函数后,接下来我们编写一个读写测试函数来检验驱动程序,见代码清单 ...