Ještě jsem si všiml tohoto:
arbet píše:Kód: Vybrat vše
LCD=((cmd&0b11110000))>>4; // pro nastaveni pouzijeme jen 4-bity
Nejspíš v tom není problém, ale doporučuju to dělat obráceně:
V tom tvém kódu totiž předpokládáš, že při posunu doprava se zleva doplňují nuly. Na to je ale lepší nespoléhat, protože to tak funguje pouze tehdy, jde-li o neznamínkový typ (unsigned). Pokud je typ znamínkový (signed), nedoplňují se nuly, ale kopíruje se nejvyšší (tzv. znamínkový) bit. Například typ char je na některých překladačích implicitně znamínkový, na jiných neznamínkový, takže je lepší si na tyhle věci dávat pozor.