LV2: modul zesilovače, dle oficiálního příkladu, ale bez závislosti na Pythonu – stačí gcc a make
5 * Slouží k ovládání LED displeje pomocí řadiče M5482 připojeného na LPT port.
6 * Používají se jen dva piny: DATA a CLOCK signál.
11 * > 1 → zpomalené pro ladění
13 const int BRZDA = 100000;
15 void zapisSeriove(bool hodnoty[], int n);
16 void zapisData(bool hodnota);
17 void zapisClock(bool hodnota);
18 void cekej(int mikroSekund);
21 std::cout << "spouštím program LED Displej" << std::endl;
23 bool hodnoty[] = {1,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1};
24 zapisSeriove(hodnoty, sizeof(hodnoty));
27 void zapisSeriove(bool hodnoty[], int n) {
28 for (int i = 0; i < n; i++) {
29 zapisData(hodnoty[i]);
35 std::cout << "---" << std::endl;
37 std::cout << "vypsáno hodnot: " << n << std::endl;
41 * TODO: použít jiné než datové piny (tam lze zapsat jen celý bajt najednou)
43 void zapisData(bool hodnota) {
44 std::cout << "DATA = " << hodnota << std::endl;
46 // TODO: zapsat na LPT (a nevymazat CLOCK)
48 // TODO: zapsat na LPT (a nevymazat CLOCK)
55 void zapisClock(bool hodnota) {
56 std::cout << "CLOCK = " << hodnota << std::endl;
58 // TODO: zapsat na LPT (a nevymazat DATA)
60 // TODO: zapsat na LPT (a nevymazat DATA)
65 * Čeká zadaný čas v mikrosekundách.
66 * Je možné zpomalit konstantou BRZDA.
68 void cekej(int mikroSekund) {
69 usleep(mikroSekund*BRZDA);