franta-hg@16: #include franta-hg@16: #include franta-hg@16: franta-hg@16: /** franta-hg@16: * Slouží k ovládání LED displeje pomocí řadiče M5482 připojeného na LPT port. franta-hg@16: * Používají se jen dva piny: DATA a CLOCK signál. franta-hg@16: */ franta-hg@16: franta-hg@16: /** franta-hg@16: * = 1 → normální běh franta-hg@16: * > 1 → zpomalené pro ladění franta-hg@16: */ franta-hg@16: const int BRZDA = 100000; franta-hg@16: franta-hg@16: void zapisSeriove(bool hodnoty[]); franta-hg@16: void zapisData(bool hodnota); franta-hg@16: void zapisClock(bool hodnota); franta-hg@16: void cekej(int mikroSekund); franta-hg@16: franta-hg@16: int main() { franta-hg@16: std::cout << "spouštím program LED Displej" << std::endl; franta-hg@16: franta-hg@16: 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}; franta-hg@16: franta-hg@16: std::cout << "velikost pole: " << sizeof(hodnoty) << std::endl; // vypíše 36 franta-hg@16: franta-hg@16: zapisSeriove(hodnoty); franta-hg@16: } franta-hg@16: franta-hg@16: void zapisSeriove(bool hodnoty[]) { franta-hg@16: std::cout << "velikost pole ve funkci: " << sizeof(hodnoty) << std::endl; // vypíše 8 franta-hg@16: for (int i = 0; i < sizeof(hodnoty); i++) { franta-hg@16: zapisData(hodnoty[i]); franta-hg@16: cekej(1); franta-hg@16: zapisClock(true); franta-hg@16: cekej(1); franta-hg@16: zapisClock(false); franta-hg@16: cekej(1); franta-hg@16: std::cout << "---" << std::endl; franta-hg@16: } franta-hg@16: } franta-hg@16: franta-hg@16: void zapisData(bool hodnota) { franta-hg@16: std::cout << "DATA = " << hodnota << std::endl; franta-hg@16: if (hodnota) { franta-hg@16: // TODO: zapsat na LPT franta-hg@16: } else { franta-hg@16: // TODO: zapsat na LPT franta-hg@16: } franta-hg@16: } franta-hg@16: franta-hg@16: void zapisClock(bool hodnota) { franta-hg@16: std::cout << "CLOCK = " << hodnota << std::endl; franta-hg@16: if (hodnota) { franta-hg@16: // TODO: zapsat na LPT franta-hg@16: } else { franta-hg@16: // TODO: zapsat na LPT franta-hg@16: } franta-hg@16: } franta-hg@16: franta-hg@16: void cekej(int mikroSekund) { franta-hg@16: usleep(mikroSekund*BRZDA); franta-hg@16: } franta-hg@16: