p4 ken
/
LED_Matrix_Japanese_Scroll
LT-5016M1を74HC595で制御します。文字スクロールなどの参考にどうぞ。
制作の過程はNotebookに書いています。
Diff: main.cpp
- Revision:
- 30:7f0f186d2b4a
- Parent:
- 28:4b4682ad3b17
- Child:
- 31:d6f78e70bf01
--- a/main.cpp Sat Nov 05 08:42:41 2016 +0000 +++ b/main.cpp Wed Feb 22 10:34:00 2017 +0000 @@ -1,11 +1,11 @@ #include "mbed.h" -DigitalOut RCK(PB_12);// 74595 -DigitalOut G(PB_1); // 74595 -DigitalOut SER(PC_6); // 74164 -DigitalOut CLK(PC_5); // 74164 -DigitalIn BUTTON(USER_BUTTON); // 点灯・消灯ボタン -Serial pc(USBTX, USBRX); // USBシリアル通信 +DigitalOut RCK(D9);// 74595 +DigitalOut G(D10); // 74595 +DigitalOut SER(D8); // 74164 +DigitalOut CLK(D7); // 74164 +//DigitalIn BUTTON(USER_BUTTON); // 点灯・消灯ボタン +//Serial pc(USBTX, USBRX); // USBシリアル通信 Timer timer; // 経過時間のカウンター // 点灯パターン 手前赤、手前緑... @@ -32,16 +32,16 @@ int scroll = 0; // 左スクロールした量 void receive() { // シリアル受信割り込み - if(pc.getc() == 0b00000001) pc.printf("received!\r\n"); +// if(pc.getc() == 0b00000001) pc.printf("received!\r\n"); // pc.putc(pc.getc() + 1); // echo } int main() { - SPI spi(PB_15, PB_14, PB_13); // SPIピンを指定 + SPI spi(D11, D12, D13); // SPIピン mosi, miso, sclk spi.format(16, 0); // 74595へ16ビットずつ送る - spi.frequency(10*1000*1000); // 74595へのクロック周波数 最高96 初期1 - pc.attach(receive, Serial::RxIrq); // シリアル受信割り込み - pc.baud(9600); // シリアル通信のクロックレート デフォルト9600 + spi.frequency(0.1*1000*1000); // 74595へのクロック周波数 最高96 初期1 +// pc.attach(receive, Serial::RxIrq); // シリアル受信割り込み +// pc.baud(9600); // シリアル通信のクロックレート デフォルト9600 timer.start(); // 経過時間のカウントを開始 while(1) { @@ -88,7 +88,8 @@ // while(timer.read_us()<0) { // 数字のぶんだけ暗くする // wait_us(10); // } - G = !BUTTON; // ボタン押すと!点灯 + +// G = !BUTTON; // ボタン押すと!点灯 // ダイナミック点灯のパルス幅を決める // while(timer.read_us()<100) { // 100*2500でゆっくり