部分代码
void I2C2_Mode_config(void)
{
/*定义I2C结构体*/
I2C_InitTypeDef I2C_InitStructure;
/*配置为I2C模式*/
I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
/*该参数只有在I2C 工作在快速模式(时钟工作频率高于 100KHz)下才有意义。*/
I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
/*设置第一个设备自身地址*/
I2C_InitStructure.I2C_OwnAddress1 =0x30;
/*使能应答*/
I2C_InitStructure.I2C_Ack = I2C_Ack_Enable ;
/*AT24C02地址为7位所以设置7位就行了*/
I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; /*时钟速率,以HZ为单位的,最高为400khz*/
I2C_InitStructure.I2C_ClockSpeed = 100000;
/* 使能 I2C1 */
I2C_Cmd(I2C2, ENABLE);
/* I2C1 初始化 */
I2C_Init(I2C2, &I2C_InitStructure);
}
/*************************************************
函数: void main_init(void)
功能: main初始化
参数: 无
返回: 无
**************************************************/
void main_init(void)
{
Usart_Init();
I2C1_GPIO_Config();
I2C1_Mode_config();
I2C1_Configuration();
delay_init(72); //延时初始化
}
extern void test_max30100_fun(void);
extern u8 max10300_Bus_Read(u8 Register_Address);
extern void max10300_init();
/*************************************************
函数: int main(void)
功能: main主函数
参数: 无
返回: 无
**************************************************/
int main(void)
{
u8 temp_num=0;
main_init();
max10300_init();
while(1)
{
test_max30100_fun();
}
}