ATmega32: I2C problém s komunikáciou - vracia mi jednotku

Ahoj, vedel by mi niekto poradiť, snažím sa čítať údaje z registra cez ic2 rozhranie. Atmega32 ----sda/scl----modul mma7455.
Inicializujem takto

		i2c_start_wait(MMA7455 | I2C_WRITE);
		i2c_write(0x16);
		i2c_write(0x01);
		i2c_stop();

		i2c_start(MMA7455 | I2C_WRITE);
		i2c_write(0x16);
		i2c_rep_start(MMA7455 | I2C_READ);
		data = i2c_readNak();
		i2c_stop();

prvý odsek je zápís do registra, spätným čítaním som chcel skontrolovať obsah registra, ale vracia mi jednotku. Ak použijem i2c_start_wait(MMA7455 | I2C_WRITE); tak čaká…, neviem kde je už chyba :frowning: , vodiče mám pripojené správne, na osciloskope som kontroloval hodinový signál aj dátový. Je možné že mám zle zadanú adresu obvodu? 0x1D.

:arrow_right: administrator: přejmenováno z "I2C problém s komunikáciou"

inicializaciu I2c si spravil ? inicializaciu senzora si robil ? pull-up odpory na vodicoch mas ? skusal si pouzit nejake fungujuce riesenie, aby si vylucil chybu v zapojeni ? napr. z: davidegironi.blogspot.sk/2012/10/avr-atmega-mma7455-accelerometer.html#.UrcVjfTuJ9U

Zistil som už príčinu problému. Mal som zle definovanú adresu zariadenia.
Povodne som mal “#define device 0x01”. Potom som si narayil v jednej knižnici že bolo definované takto “#define device (0x01<<1)”.