Go Down

Topic: Move from TLC5940 to TLC5947? (Read 120 times) previous topic - next topic

SynonZelra

Feb 11, 2018, 04:23 pm Last Edit: Feb 11, 2018, 04:29 pm by SynonZelra
Hi guys.

So I'm building a project that requires controlling a matrix of LEDs.

I have some successful trails in TLC5940 so that I think TLC5947 will be a better choice.

I tried my understanding to modify codes for 5940 on 5947 but does not work so I wonder if there's something wrong with me.

To my understanding, 5947 is more like a 'power-up' version of 5940, with more outputs and auto-repeat internal clock cycles.

According to the datasheet (here), this should be pretty self explanatory:
latch and blank low;
send data via sin and sclk;
blank high to disable output and reset counter;
latch high and low to shift data;
blank low to go on.
Code: [Select]
  PORTD |= 1<<5;// write blank HIGH to reset the 4096 counter in the TLC
  PORTD |= 1<<2;// write XLAT HIGH to latch in data from the last data stream
  PORTD &= ~(1<<2);// XLAT can go low now---
  PORTD &= ~(1<<5);// Blank goes LOW to start the next cycle
  for(SINData=35; SINData>=0; SINData--)// send the data out!
  SPI.transfer(transferbyte[SINData]);


the problem is, this does not work, but why? what am i missing?

btw, I have successfully used TLC5940 so I suppose there's no connection problem, and I do understand that  TLC5940 means 24 outputs in 12 bit equals 288 bits, makes transferdata in 36 bytes.

THANKS

Go Up