C언어
i2c 장치를 찾아보자
바람사탕
2022. 7. 8. 20:39
반응형
응답하는 칩만 찾기...
void debug_I2C1_addr_find(void)
{
byte1 addr;
char buf[16];
win32_I2C_cls();
xputs("debug_I2C1_addr_find");
for(addr=1;addr<=0xfe;addr++)
{
I2C1_start();
_I2C1_write1(addr|0);//write
if(I2C1_read_ACK()==0)//ACK
{
char buf2[16];
byte1_to_binary_str(addr,buf2);
xputs_str("addr",buf2);
xputs_HEX1("I2C1 addr",addr);
win32_I2C_print_cls();
I2C1_write_regaddr_read_n(addr,0,buf,sizeof(buf),100);
xputs_HEX("read",buf,sizeof(buf));
}
else
{
//not found
win32_I2C_cls();
}
I2C1_stop();
WDT_reset();
}
xputs("------------");
win32_I2C_print_cls();
}
read, write
2개가 짝으로 나온다.
반응형