我不知道你的result指的是你设置的变量还是?回答帖子麻烦你能说清楚一些。
但是既然模拟iic,那么首先用最简单的办法来操作不就行了,用来验证iic读写是否OK么。对吧。我就用最简单的办法来实现,不知道你是怎么来验证的。
另外说个题外话,如果模拟iic建议你看看原子的例程,如果用硬件iic建议你看看野火例程。
我举个我验证iic是否读写OK的例子你来看,当然可能您会有更好的方法。
- I2C_EEPROM_BufferRead(read_table,0x0000,1024);//先读一次数据,read_table[1024] eeprom的大小设置为1024
- memset(write_table,0,1024);//清空write_talbe这个数组,write_table[1024] eeprom的大小设置为1024
-
- I2C_EEPROM_BufferWrite(write_table,0x0000,1024);
- I2C_EEPROM_BufferRead(read_table,0x0000,1024);
- for(i2c_cnt =0;i2c_cnt<10;i2c_cnt++)
- { write_table[i2c_cnt] = (u8) i2c_cnt;
- }
-
- I2C_EEPROM_BufferWrite(write_table,0x0000,10);
- I2C_EEPROM_BufferRead(read_table,0x0000,10);
- if(memcmp(read_table,write_table,10)==0 )
- {
- LED1_ON;
- //可以利用memset来清空write_table
- }
- else
- {
- LED1_OFF;
- delay_ms(300);
- }
复制代码
|