|
- main()
- {
- unsigned int n=0,j=0,i;
- for(i=0;i<2;i++) //共寫(xiě)入16個(gè)數(shù)據(jù),每次寫(xiě)進(jìn)8個(gè),分兩次
- {
- I2C_Start();//啟動(dòng)iic
- I2C_SendByte(0xa0, 1);//發(fā)送寫(xiě)器件地址
- I2C_SendByte(n, 1);//發(fā)送要寫(xiě)入內(nèi)存地址 (第一次n是0,即地址0; 第二次n是8,即地址8)
- for(j=0;j<=8;j++) //每頁(yè)寫(xiě)入8個(gè)數(shù)據(jù)
- {
- I2C_SendByte(a[n], 1);
- n++;
- }
- I2C_Stop(); //寫(xiě)完8個(gè)數(shù)據(jù)截止
- I2C_Delay10us();
- }
- while(1);
- }
復(fù)制代碼 第一個(gè)代碼,只有第一次能成個(gè)寫(xiě)入8個(gè)數(shù)據(jù)。(失敗)
第二個(gè)代碼是把第一個(gè)代碼的第一個(gè)for去掉,執(zhí)行兩次寫(xiě)入,就能夠成功寫(xiě)入16費(fèi)數(shù)據(jù)。(成功)
- main()
- {
- unsigned int n=0,j=0,i;
- /***第一次存8個(gè)數(shù)據(jù)******/
復(fù)制代碼 我要存的數(shù)據(jù)
- unsigned char code a[]={0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
- 0x09,0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6};
復(fù)制代碼 我不明白為什么,為什么第一個(gè)代碼不行
|
|