Witam,
Napisałem wysyłający do PCF8574 dane po TWI ale niestety układzik wogóle nie reaguje. Co może byc nie tak?
Fragment programu odpowiedzialny za wysyłanie poniżej. Podprogram wyslij wywoływany jest w przerwaniu Timera1
Napisałem wysyłający do PCF8574 dane po TWI ale niestety układzik wogóle nie reaguje. Co może byc nie tak?
Fragment programu odpowiedzialny za wysyłanie poniżej. Podprogram wyslij wywoływany jest w przerwaniu Timera1
wyslij:
rcall start_twi
rcall twint_set
rcall twi_adr
rcall twint_set
rcall twi_data
rcall twint_set
rcall stop_twi
ret
start_twi:
ldi acc, (1 << TWSTA) | (1 << TWINT) | (1 <<TWEN)
sts TWCR, acc
ret
twint_set:
lds acc, TWCR
sbrs acc, TWINT
rjmp twint_set
ret
twi_adr:
sts TWDR, addr
ldi acc, (1 << TWINT) | (1 << TWEN)
sts TWCR, acc
ret
twi_data:
sts TWDR, data
ldi acc, (1 << TWINT) | (1 << TWEN)
sts TWCR, acc
ret
stop_twi:
ldi acc,(1 << TWINT) | (1 << TWEN) | (1<<TWSTO)
sts TWCR, acc
ret