Пытаюсь уже 3-й день в AVRStudio соединить AtMega 2561 с ЦАП ТС1320 по I2c! Но на выходе так ничего и не обнаруживаю. Может что-то не так задаю( Помогите советом! Спасибо!
Кусок осн программы привожу ниже:
ldi r18, 0xD0 sts XMCRA, r18 ; Enable External Memory
ldi r18, 0x80 sts XMCRB, r18 ; Whole PortC for XRAM
ldi r16, 0x91 sts TWAR,r16 ; Slave address to TWAR
ldi START, 0xF8
;-----------------I2с sending -------------------------------------------
ldi r16,(1<<TWINT)|(1<<TWSTA)|(1<<TWEN) sts TWCR, r16 ; Send s-t-a-r-t condition
wait1: lds r16,TWCR sbrs r16,TWINT rjmp wait1 ; Wait for START bit to be transmitted
ldi r16, 0x90 sts TWDR,r16 ; Load Address in TWDR ldi r16, (1<<TWINT)|(1<<TWEN) sts TWCR, r16 ; Clear TWINT bit
wait2: lds r16,TWCR sbrs r16,TWINT rjmp wait2 ; Wait for ADRESS to be transmitted
ldi r16, 0x00 sts TWDR,r16 ; Load 00h - command for TC1320 to send next byte as Data ldi r16, (1<<TWINT)|(1<<TWEN) sts TWCR, r16 ; Clear TWINT bit
wait5: lds r16,TWCR sbrs r16,TWINT rjmp wait5 ; Wait for ADRESS to be transmitted
ldi r16, 0x3B sts TWDR,r16 ; Load DATA in TWDR ldi r16, (1<<TWINT)|(1<<TWEN) sts TWCR, r16 ; Clear TWINT bit in TWCR to start transmittion of DATA
wait3: lds r16,TWCR sbrs r16,TWINT rjmp wait3 ; Wait for DATA to be transmitted
ldi r16,(1<<TWINT)|(1<<TWEN)|(1<<TWSTO) sts TWCR, r16 ; Send s-t-o-p condition
nop
|