blablabla

Committer:
kohacraft
Date:
Wed Jul 29 06:44:12 2015 +0000
Revision:
0:2a7734c01842
ver1.1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kohacraft 0:2a7734c01842 1 #include "TLC5940.h"
kohacraft 0:2a7734c01842 2
kohacraft 0:2a7734c01842 3 int num_drivers = 1;
kohacraft 0:2a7734c01842 4
kohacraft 0:2a7734c01842 5 void setup (SPI &driver, DigitalOut &vprg, DigitalOut &xlat, DigitalOut &blank, PwmOut &gsclk, int num_ics)
kohacraft 0:2a7734c01842 6 {
kohacraft 0:2a7734c01842 7 driver.format (6,0);
kohacraft 0:2a7734c01842 8 driver.frequency (20000000);
kohacraft 0:2a7734c01842 9 if (num_ics <= 0)
kohacraft 0:2a7734c01842 10 {
kohacraft 0:2a7734c01842 11 num_drivers = 1;
kohacraft 0:2a7734c01842 12 }
kohacraft 0:2a7734c01842 13 else
kohacraft 0:2a7734c01842 14 {
kohacraft 0:2a7734c01842 15 num_drivers = num_ics;
kohacraft 0:2a7734c01842 16 }
kohacraft 0:2a7734c01842 17
kohacraft 0:2a7734c01842 18 xlat = 0; // hold GS/DC data constant
kohacraft 0:2a7734c01842 19 blank = 0;
kohacraft 0:2a7734c01842 20 blank = 1;
kohacraft 0:2a7734c01842 21 blank = 0; // Blank (squelch) all outputs
kohacraft 0:2a7734c01842 22
kohacraft 0:2a7734c01842 23 //補正データを最大に設定
kohacraft 0:2a7734c01842 24 vprg = 1;
kohacraft 0:2a7734c01842 25 for (int i = 0; i<16*num_ics; i++)
kohacraft 0:2a7734c01842 26 {
kohacraft 0:2a7734c01842 27 driver.write (0x3F); //最大
kohacraft 0:2a7734c01842 28 }
kohacraft 0:2a7734c01842 29 xlat = 1;
kohacraft 0:2a7734c01842 30 xlat = 0; // hold GS/DC data constant
kohacraft 0:2a7734c01842 31
kohacraft 0:2a7734c01842 32 driver.format (12,0);
kohacraft 0:2a7734c01842 33 vprg = 0; // sets drivers to GS mode. Set to 1 to change to DC mode
kohacraft 0:2a7734c01842 34 gsclk.period_us (1.0); // set grayscale clock to 1000 Hz
kohacraft 0:2a7734c01842 35 gsclk = 0.5; // turn on grayscale clock to 50% duty cycle at afore mentioned frequency
kohacraft 0:2a7734c01842 36
kohacraft 0:2a7734c01842 37
kohacraft 0:2a7734c01842 38
kohacraft 0:2a7734c01842 39 }
kohacraft 0:2a7734c01842 40
kohacraft 0:2a7734c01842 41
kohacraft 0:2a7734c01842 42 void update_led (SPI &driver, DigitalOut &xlat, DigitalOut &blank, PwmOut &gsclk, unsigned short* LEDS)
kohacraft 0:2a7734c01842 43 {
kohacraft 0:2a7734c01842 44 blank = 1;
kohacraft 0:2a7734c01842 45 for (int k = (num_drivers - 1); k >= 0; k--)
kohacraft 0:2a7734c01842 46 {
kohacraft 0:2a7734c01842 47 for (int i = (16 - 1); i >= 0; i--)
kohacraft 0:2a7734c01842 48 {
kohacraft 0:2a7734c01842 49 driver.write (*(LEDS + k + i));
kohacraft 0:2a7734c01842 50 }
kohacraft 0:2a7734c01842 51 }
kohacraft 0:2a7734c01842 52 wait_us(10);
kohacraft 0:2a7734c01842 53 xlat = 1;
kohacraft 0:2a7734c01842 54 xlat = 0;
kohacraft 0:2a7734c01842 55 blank = 0;
kohacraft 0:2a7734c01842 56 driver.format (12,0);
kohacraft 0:2a7734c01842 57
kohacraft 0:2a7734c01842 58 }
kohacraft 0:2a7734c01842 59
kohacraft 0:2a7734c01842 60 void offDisp(DigitalOut &blank , PwmOut &gsclk)
kohacraft 0:2a7734c01842 61 {
kohacraft 0:2a7734c01842 62 blank = 1;
kohacraft 0:2a7734c01842 63 }
kohacraft 0:2a7734c01842 64
kohacraft 0:2a7734c01842 65