Код №1:
#define pin_din A0
#define pin_cs A1
#define pin_clk A2
#include <LedControl.h> //Подключаем библиотеку LedControl.h
LedControl lc = LedControl(pin_din, pin_clk, pin_cs, 1);
// Массив с закодированными символами для надписей.
/*byte bukvy[8] =
{
B01110111, // А - 0
B00011111, // Ь - 1
B01001110, // С - 2
B00111101, // d - 3
B01001111, // Е - 4
B01000111, // F - 5
B01011110, // G - 6
B00110111, // Н - 7
};*/
#define A B01110111
#define b B00011111
#define C B01001110
#define d B00111101
#define E B01001111
#define F B01000111
#define G B01011110
#define H B00110111
void setup()
{
lc.shutdown(0, false); //Выводим из спящего режима
lc.setIntensity(0,2); //Установить яркость дисплея на 2.
lc.clearDisplay(0); //Очистить дисплей
delay (1000);
}
void loop()
{
/*lc.setRow(0, 7 , bukvy[0]);
lc.setRow(0, 6 , bukvy[1]);
lc.setRow(0, 5 , bukvy[2]);
lc.setRow(0, 4 , bukvy[3]);
lc.setRow(0, 3 , bukvy[4]);
lc.setRow(0, 2 , bukvy[5]);
lc.setRow(0, 1 , bukvy[6]);
lc.setRow(0, 0 , bukvy[7]);*/
lc.setRow(0, 7 , A);
lc.setRow(0, 6 , b);
lc.setRow(0, 5 , C);
lc.setRow(0, 4 , d);
lc.setRow(0, 3 , E);
lc.setRow(0, 2 , F);
lc.setRow(0, 1 , G);
lc.setRow(0, 0 , H);
}
Код №2:
#define pin_din A0
#define pin_cs A1
#define pin_clk A2
#include <LedControl.h> //Подключаем библиотеку LedControl.h
LedControl lc = LedControl(pin_din, pin_clk, pin_cs, 1);
// Массив с закодированными символами для надписей.
byte bukvy[8] =
{
B01110111, // А - 0
B00011111, // Ь - 1
B01001110, // С - 2
B00111101, // d - 3
B01001111, // Е - 4
B01000111, // F - 5
B01011110, // G - 6
B00110111, // Н - 7
};
/*#define A B01110111
#define b B00011111
#define C B01001110
#define d B00111101
#define E B01001111
#define F B01000111
#define G B01011110
#define H B00110111*/
void setup()
{
lc.shutdown(0, false); //Выводим из спящего режима
lc.setIntensity(0,2); //Установить яркость дисплея на 2.
lc.clearDisplay(0); //Очистить дисплей
delay (1000);
}
void loop()
{
lc.setRow(0, 7 , bukvy[0]);
lc.setRow(0, 6 , bukvy[1]);
lc.setRow(0, 5 , bukvy[2]);
lc.setRow(0, 4 , bukvy[3]);
lc.setRow(0, 3 , bukvy[4]);
lc.setRow(0, 2 , bukvy[5]);
lc.setRow(0, 1 , bukvy[6]);
lc.setRow(0, 0 , bukvy[7]);
/*lc.setRow(0, 7 , A);
lc.setRow(0, 6 , b);
lc.setRow(0, 5 , C);
lc.setRow(0, 4 , d);
lc.setRow(0, 3 , E);
lc.setRow(0, 2 , F);
lc.setRow(0, 1 , G);
lc.setRow(0, 0 , H);*/
}
Оба кода срабатывают одинаково, при компиляции выясняется, что объем использованной памяти (памяти устройства и динамической) одинаков. Скорость выполнения “на глаз“ одинаковая. Есть какие-либо преимущества у того или иного подхода?
Заранее спасибо!