Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: YKNCT_I2C.cpp
- Revision:
- 23:c4ba54d8f740
- Parent:
- 22:a58cf4376400
- Child:
- 25:0e92864e622a
- Child:
- 26:f0d84248b3c1
--- a/YKNCT_I2C.cpp Sat May 11 12:50:28 2019 +0000
+++ b/YKNCT_I2C.cpp Sat May 18 06:56:07 2019 +0000
@@ -16,17 +16,17 @@
int ad_cnt=0; //同じアドレスの数を保存する
while(cnt<MAX) {
char data=0;
- int tmp_address=(OUT_I2C_Data+cnt)->DevAddress;
+ int tmp_address=(OUT_I2C_Data+cnt)->DevAddress+0x3B;
//同じアドレスの数を数える
for(ad_cnt=0;; ad_cnt++) {
- if(tmp_address!=(OUT_I2C_Data+cnt+ad_cnt)->DevAddress)
+ if(tmp_address!=(OUT_I2C_Data+cnt+ad_cnt)->DevAddress+0x3B)
break;
}
//一枚の基板に出力するデータを格納する
for(int j=0; j<ad_cnt; j++) data|=(OUT_I2C_Data+cnt+j)->out_data<<j;
- i2c.write((OUT_I2C_Data+cnt)->DevAddress<<1, &data, 1);
+ i2c.write(((OUT_I2C_Data+cnt)->DevAddress+0x3B)<<1, &data, 1);
cnt+=ad_cnt;
}
}
@@ -52,7 +52,7 @@
//16bitのpulse2つを8bitづつに分けてdataに保存する
data[j]=(SERVO_I2C_Data+i*2+j/2)->pulse>>(1-j%2)*8;
}
- i2c.write((SERVO_I2C_Data+i)->DevAddress<<1, data, 4);
+ i2c.write(((SERVO_I2C_Data+i)->DevAddress+0x5D)<<1, data, 4);
}
}
@@ -61,7 +61,7 @@
char data;
uint8_t array=(IN_I2C_Data+num)->Number;
- i2c.read((IN_I2C_Data+num)->DevAddress<<1, &data, 1);
+ i2c.read(((IN_I2C_Data+num)->DevAddress+0x19)<<1, &data, 1);
(IN_I2C_Data+num)->in_data=data&1<<array;
}
@@ -71,7 +71,7 @@
char data[8]= {0};
uint8_t array=(ADC_I2C_Data+num)->Number;
- i2c.read((ADC_I2C_Data+num) -> DevAddress<<1, data, 8);
+ i2c.read(((ADC_I2C_Data+num) -> DevAddress+0x30)<<1, data, 8);
(ADC_I2C_Data+num)->adc_data=data[array*2+1]<<8|data[array*2];
}
@@ -80,7 +80,7 @@
{
char data[4]= {0};
- i2c.read(((ENC_I2C_Data+num) -> DevAddress+60)<<1, data, 4);
+ i2c.read(((ENC_I2C_Data+num) -> DevAddress+0x4C)<<1, data, 4);
(ENC_I2C_Data+num)->enc_data=data[3]<<24|data[2]<<16|data[1]<<8|data[0];
}