mam gulas v bitovych operatoroch ...pls HELP

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
arbet
Příspěvky: 61
Registrován: 23 říj 2007, 02:00

#16 Příspěvek od arbet »

a mrzi ma ze musim takto otravovat :( ...ale som rad ze obcas dakto pomoze ...velmi vam vdacim za vsetko :P

Uživatelský avatar
Bernard
Příspěvky: 3614
Registrován: 27 kvě 2005, 02:00

#17 Příspěvek od Bernard »

Zkus tohle: http://people.tuke.sk/igor.podlubny/C/index.htm
Sice to není pdf, ale může se to hodit.

Uživatelský avatar
piitr
Příspěvky: 1003
Registrován: 19 říj 2007, 02:00
Kontaktovat uživatele:

#18 Příspěvek od piitr »

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ě:

Kód: Vybrat vše

LCD = cmd >> 4 & 0b00001111;
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.

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“