Hey, i use an DSPIC33CK256MP505 and i want to initialice a TAS5558 via I2C.
my code is the following:
bset I2C1CONL,#0 ; START ; internal factory trim
mov #0x68,W0 ; (0x34 write)
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
mov #0x12,W0
mov W0,I2C1TRN
nop
nop
btsc I2C1STAT,#14
BRA $-2
mov #0x00,W0
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
bset I2C1CONL,#2 ; STOP
call wait_ss ; Exit Shutdown
bset I2C1CONL,#0 ; START
mov #0x68,W0 ; (0x34 write)
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
mov #0x03,W0
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
mov #0xA0,W0
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
bset I2C1CONL,#2 ; STOP
call wait_ss
bset I2C1CONL,#0 ; START
mov #0x68,W0 ; (0x34 write)
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
mov #0xD9,W0
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
mov #0x00,W0
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
mov #0x00,W0
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
mov #0x02,W0
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
mov #0x45,W0
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
bset I2C1CONL,#2 ; STOP
call wait_ss
bset I2C1CONL,#0 ; START
mov #0x68,W0 ; (0x34 write)
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
mov #0xE0,W0
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
mov #0x00,W0
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
mov #0x00,W0
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
mov #0x00,W0
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
mov #0x04,W0
mov W0,I2C1TRN
nop
btsc I2C1STAT,#14
BRA $-2
bset I2C1CONL,#2 ; STOP
but it dosnt work.. I2C itself is initialiced correctly (veryfied with osci)
whats wrong?