esto lo saque de este post viejo
http://www.todopic.com.ar/foros/index.php?PHPSESSID=03f22a173ee0244fd55a242d5b2aedc8&topic=3675.0al montarlo me da una serie de problema que no lo encuentro y no se por donde empezar, bien el problema que me da es, que al hacer fader con el primer canal poniendo ante el dipswitch numero 1 a cero al hacer fader en 50% la salida del canal pin numero 9 del primer TDA8444 me hace oscilaciones donde deberia dar 5Voltio, al subir el Fader a 100% me llega a 10 Voltio pero se queda oscilando, otro caso curioso tambien es, que el segundo canal me hace los mismo pero y me interfiere en el primer canal.
yo pienso que el error esta aqui ndmx = ndmx ^ %0000001111111111
os pongo el programa aqui completo
DEFINE OSC 20
@ DEVICE HS_OSC
'Configurazione usart 250000
DEFINE HSER_BITS 9
DEFINE HSER_RCSTA 208
DEFINE HSER_TXSTA 101
DEFINE HSER_BAUD 250000
DEFINE HSER_CLROERR 1 'Hser clear overflow automatically
SYMBOL IN =PORTC.0
SYMBOL LED =PORTC.3 'LED
SYMBOL SDA =PORTA.2 'SDA TDA8444 OUT ANALOGICHE ESTERNE
SYMBOL SCL =PORTA.3 'SCL TDA8444 OUT ANALOGICHE ESTERNE
INPUT IN
TMP VAR WORD
TMP1 VAR WORD
VALORE VAR byte[65]
BREAK VAR WORD
NDMX VAR WORD
DATI VAR WORD
Clear
ADCON0=0
ADCON1=7
OPTION_REG.7=0 'Abilita resistenze di pull-up
FOR TMP=0 TO 10
TOGGLE LED
PAUSE 200
NEXT TMP
LOW LED
MAIN:
NDMX=0
NDMX.0=PORTA.1
NDMX.1=PORTA.0
NDMX.2=PORTB.7
NDMX.3=PORTB.6
NDMX.4=PORTB.5
NDMX.5=PORTB.4
NDMX.6=PORTB.3
NDMX.7=PORTB.2
NDMX.8=PORTB.1
NDMX.9=PORTB.0
ndmx = ndmx ^ %0000001111111111
DATI=0
PULSIN in,0,break
IF BREAK>=44 THEN
HSERIN 1000,MAIN,[tmp,tmp1]
if tmp<>0 and tmp1<>0 then
goto main
endif
FOR TMP=1 TO ndmx
HSERIN 10,main,[tmp1]
NEXT TMP
FOR tmp=1 TO 64
hserin 10,EXIT,[VALORE[tmp]]
DATI=DATI+1
NEXT TMP
EXIT:
FOR TMP=1 TO DATI
VALORE[TMP]=VALORE[TMP]/4
NEXT TMP
I2CWRITE SDA,SCL,%01000000,%00000000,[VALORE[1],VALORE[2],VALORE[3],VALORE[4],VALORE[5],VALORE[6],VALORE[7],VALORE[8]]
I2CWRITE SDA,SCL,%01000010,%00000000,[VALORE[9],VALORE[10],VALORE[11],VALORE[12],VALORE[13],VALORE[14],VALORE[15],VALORE[16]]
I2CWRITE SDA,SCL,%01000100,%00000000,[VALORE[17],VALORE[18],VALORE[19],VALORE[20],VALORE[21],VALORE[22],VALORE[23],VALORE[24]]
I2CWRITE SDA,SCL,%01000110,%00000000,[VALORE[25],VALORE[26],VALORE[27],VALORE[28],VALORE[29],VALORE[30],VALORE[31],VALORE[32]]
I2CWRITE SDA,SCL,%01001000,%00000000,[VALORE[33],VALORE[34],VALORE[35],VALORE[36],VALORE[37],VALORE[38],VALORE[39],VALORE[40]]
I2CWRITE SDA,SCL,%01001010,%00000000,[VALORE[41],VALORE[42],VALORE[43],VALORE[44],VALORE[45],VALORE[46],VALORE[47],VALORE[48]]
I2CWRITE SDA,SCL,%01001100,%00000000,[VALORE[49],VALORE[50],VALORE[51],VALORE[52],VALORE[53],VALORE[54],VALORE[55],VALORE[56]]
I2CWRITE SDA,SCL,%01001110,%00000000,[VALORE[57],VALORE[58],VALORE[59],VALORE[60],VALORE[61],VALORE[62],VALORE[63],VALORE[64]]
ENDIF
GOTO MAIN
quizas alguien me puede dar algunas pista.
saludo