- main()
- {
- unsigned int n=0,j=0,i;
- for(i=0;i<2;i++) //共写入16个数据,每次写进8个,分两次
- {
- I2C_Start();//启动iic
- I2C_SendByte(0xa0, 1);//发送写器件地址
- I2C_SendByte(n, 1);//发送要写入内存地址 (第一次n是0,即地址0; 第二次n是8,即地址8)
- for(j=0;j<=8;j++) //每页写入8个数据
- {
- I2C_SendByte(a[n], 1);
- n++;
- }
- I2C_Stop(); //写完8个数据截止
- I2C_Delay10us();
- }
- while(1);
- }
复制代码 第一个代码,只有第一次能成个写入8个数据。(失败)
第二个代码是把第一个代码的第一个for去掉,执行两次写入,就能够成功写入16费数据。(成功)
- main()
- {
- unsigned int n=0,j=0,i;
- /***第一次存8个数据******/
复制代码 我要存的数据
- unsigned char code a[]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
- 0x09,0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6};
复制代码 我不明白为什么,为什么第一个代码不行
|