kohacraft Lab
/
kc_matrixclock_withRTC
Dot Matrix LED clock with RTC ver1.0
Revision 3:179ec78e9158, committed 2015-08-11
- Comitter:
- kohacraft
- Date:
- Tue Aug 11 08:59:44 2015 +0000
- Parent:
- 2:9c618daf65f5
- Commit message:
- Dot Matrix LED clock with RTC ver1.0
Changed in this revision
TLC5940.cpp | Show annotated file Show diff for this revision Revisions of this file |
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 9c618daf65f5 -r 179ec78e9158 TLC5940.cpp --- a/TLC5940.cpp Tue Aug 11 08:05:41 2015 +0000 +++ b/TLC5940.cpp Tue Aug 11 08:59:44 2015 +0000 @@ -4,30 +4,22 @@ DigitalOut vprg = dp4; DigitalOut xlat = dp9; DigitalOut blank = dp10; -//PwmOut gsclk = dp1; gsclkはdp24にマスタークロックの出力を利用する +//gsclk dp24に接続(CPUクロックの2分周したクロックを利用) int num_drivers = 1; void setup (int num_ics) { - blank = 1; + blank = 1; //LEDをOFF + //IO0_1(dp24)をCLKOUTに設定し、gsclkとして利用する LPC_IOCON->PIO0_1 |= 1; // PIO0_1をCLKOUTとして使用する - // CLKOUTピンに出力するクロックソースの選択 - // b00 IRC発振器 - // b01 Xtal発振器 - // b10 WDT発振器 - // b11 mainclock - LPC_SYSCON->CLKOUTCLKSEL |= 0x3; // mainclockを選択 + LPC_SYSCON->CLKOUTCLKSEL |= 0x3; // 0:RC 1:Xtal 2:WDT 3:mainclock LPC_SYSCON->CLKOUTUEN = 0; // レジスタ更新 LPC_SYSCON->CLKOUTUEN = 1; while (!(LPC_SYSCON->CLKOUTUEN & 0x01)); - // クロック分周器の値 - // 0 ディスエーブル - // 1~255 分周値 - // 31:8 - - 予約済み - LPC_SYSCON->CLKOUTDIV |= 2; // 1分周=分周しない + LPC_SYSCON->CLKOUTDIV |= 2; // 2分周 - + driver.format (6,0); driver.frequency (20000000); if (num_ics <= 0) @@ -52,8 +44,6 @@ driver.format (12,0); vprg = 0; // sets drivers to GS mode. Set to 1 to change to DC mode -// gsclk.period_us (1); // set grayscale clock to 1000 Hz -// gsclk = 0.5; // turn on grayscale clock to 50% duty cycle at afore mentioned frequency blank = 0; @@ -79,6 +69,6 @@ driver.format (1,0); driver.write (0); driver.format (12,0); - wait_us(85*2); //4096階調のために必要な時間 4096/48MHz + wait_us(170); //4096階調のために必要な時間 4096/24MHz } \ No newline at end of file
diff -r 9c618daf65f5 -r 179ec78e9158 main.cpp --- a/main.cpp Tue Aug 11 08:05:41 2015 +0000 +++ b/main.cpp Tue Aug 11 08:59:44 2015 +0000 @@ -168,14 +168,12 @@ //TLC5940初期設定 setup ( num_ics ); - wait(0.2); - + //DS3231初期設定 ds3231_cntl_stat_t data = {0,0}; //SQWに1秒のクロックを出力する rtc.set_cntl_stat_reg( data ); secInt.rise( &secUp ); //RTCの1秒クロックでカウントアップする - wait(0.2); //DS3231に記録されている時間を読み出す ds3231_time_t time;