Hoi,

Ik ben nu al een tijdje bezig om een PCA9635 aan te sturen via I²C, zonder succes.

Ik werk met een 16F777 @ 20MHz.

Dit is het stukje code waar ik de PCA tracht mee aan te sturen.

  PORTB = 0;
  TRISB = 0;              // Configure PORTB as output
  TRISC = 0;
  I2C1_Init(100000);      
  I2C1_Start();           

  I2C1_Wr(0b10000000);     // sturen van start adres van PCA
  I2C1_Wr(0b01000101);     // sturen van instellingen auto inc 
  // of
 //I2C1_Wr(0b00000010);    
  //I2C1_Wr(0b10100010);
  I2C1_Wr(0xFF);          // data voor led 0
  I2C1_Stop();            //I2C stop signal

De led brand zeer zachtjes.

alvast bedankt

en wat stuur je naar de chip ? niks toch.

je zet nu auto increment af (AI2 is 0 ) en probeert register 5 aan te spreken. ( 101 )

trouwens je stuurt een illegale code !
0b01000101
de 3 msb's mogen alleen 000 , 100 , 101 , 110 of 111 zijn.

jij stuurt 010 ... je zit in de testmodes te rommelen ! (pagina 8 van datasheet)

maak daar eens 00000101 van. zo schrijf je continure naar register 5.
register 5 controlert PWM3 kanaal.

je gaat trouwnes ook nog een bak andere registers moeten juist zetten ... ( output state control , group select en nog een 4 tal anderen. )

als je met led 3 speelt : register 14 ga je op 10000000 moeten zetten om die led te enablen.

probeer dit eens : schrijf naar register 14 eens stomweg 0100_0000
dit sou de led keihard moeten aanzetten.
0000_0000 is uit
0100_0000 is full on
1000_0000 is inder controle van pwm3
1100_0000 is onder groep controle

ondertussen heb ik dit aangepast.

Maar de ik krijg de ic nog steeds niet degelijk aangestuurd.

De led blijft nu constant oplichten.
Nu krijg ik hem niet meer uit...

Ik doe waarschijnlijk nog wel iets verkeerd... maar dit is men eerste project met I²C.

Wat moet er dan nog allemaal ingesteld worden?

Ik heb de datasheet doorgenomen maar ik kom er niet uit.

[Bericht gewijzigd door nonkel_dw op (17%)]

kzal er vanavond eens in detail naar kijken, nu geen tijd.

@free_electron

Heb je ondertussen al de tijd gevonden om mee te kijken in de datacheet?