LT-5016M1を74HC595で制御します。文字スクロールなどの参考にどうぞ。

Dependencies:   mbed

制作の過程はNotebookに書いています。

Revision:
31:d6f78e70bf01
Parent:
30:7f0f186d2b4a
Child:
32:4edcd1299998
diff -r 7f0f186d2b4a -r d6f78e70bf01 main.cpp
--- a/main.cpp	Wed Feb 22 10:34:00 2017 +0000
+++ b/main.cpp	Mon Feb 27 08:20:11 2017 +0000
@@ -6,7 +6,7 @@
 DigitalOut CLK(D7); // 74164
 //DigitalIn BUTTON(USER_BUTTON); // 点灯・消灯ボタン
 //Serial pc(USBTX, USBRX); // USBシリアル通信
-Timer timer; // 経過時間のカウンター
+//Timer timer; // 経過時間のカウンター
 
 // 点灯パターン 手前赤、手前緑...
 unsigned short pattern1[16][2*11] = // 急行13:05やや混雑
@@ -39,17 +39,17 @@
 int main() {
     SPI spi(D11, D12, D13); // SPIピン mosi, miso, sclk
     spi.format(16, 0); // 74595へ16ビットずつ送る
-    spi.frequency(0.1*1000*1000); // 74595へのクロック周波数 最高96 初期1
+    spi.frequency(1*1000*1000); // 74595へのクロック周波数 最高96 初期1
 //    pc.attach(receive, Serial::RxIrq); // シリアル受信割り込み
 //    pc.baud(9600); // シリアル通信のクロックレート デフォルト9600
-    timer.start(); // 経過時間のカウントを開始
+//    timer.start(); // 経過時間のカウントを開始
     
     while(1) {
-        timer.reset(); // 経過時間0秒
+//        timer.reset(); // 経過時間0秒
         
         // 行選択
         scan++; // 一行進む
-        if(scan == 17+17) { // 16行目の次
+        if(scan == 17+0) { // 16行目の次
             SER = 0; // 点灯
             scan = 1; // 1行目に戻る
             round++; // スキャンが1周した
@@ -80,7 +80,7 @@
         
         RCK = 0;
         CLK = 0;
-        G = 1; // 消灯
+        G = 0; // 点灯
         RCK = 1;
         CLK = 1;
         
@@ -89,7 +89,7 @@
 //            wait_us(10);
 //        }
 
-//        G = !BUTTON; // ボタン押すと!点灯
+//        G = BUTTON; // ボタン押すと消灯
         
         // ダイナミック点灯のパルス幅を決める
 //        while(timer.read_us()<100) { // 100*2500でゆっくり