Страница 1 из 1

ATMega 2561: соединить с ЦАПом ТС 1230 по I2с?

Добавлено: Пт ноя 12, 2010 11:24:07
Slavast
Доброе всем!
Пытаюсь в 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

Re: ATMega 2561: соединить с ЦАПом ТС 1230 по I2с?

Добавлено: Сб ноя 13, 2010 18:58:45
Aheir
Код оформляется вложением!
Тем про I2C - валом, почему бы там не спросить?
При чем здесь память?