p4 ken
/
LED_Matrix_Japanese_Scroll
LT-5016M1を74HC595で制御します。文字スクロールなどの参考にどうぞ。
制作の過程はNotebookに書いています。
Diff: main.cpp
- Revision:
- 31:d6f78e70bf01
- Parent:
- 30:7f0f186d2b4a
- Child:
- 32:4edcd1299998
--- 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でゆっくり