avr-gcc unsigned char

Loading thread data ...
Reply to
invalid unparseable
Reply to
invalid unparseable

Użytkownik Paweł napisał:

Coś kolega opuścił. Skąd wiadomo że jest równe 0 lub 1 ? Z printfa ? Z debugera ?

unsigned char

Ależ proszę.

Adam

Reply to
invalid unparseable

^^^ a to co?

Ja się nie znam ale chyba typ zmiennej sterującej w pętli też jest ważny...

Reply to
RoMan Mandziejewicz

Użytkownik Paweł napisał:

Powinno działać ,ale może kompilator jakieś promocje robi samoistnie, bo to chyba raczej nie na pecka.

Możesz spróbować : zm = (unsigned char ) 130;

Daj znać.

Adam

Reply to
invalid unparseable

Dnia 25.05.2006 Paweł snipped-for-privacy@poczta.onet.pl> napisał/a:

Ja namietnie uzywam zmiennej typu uint8_t

AW

Reply to
AW

Thus wrote Górski Adam <gorskia@.................wp....................pl..................>:

Zgodnie z odwieczną specyfikacją języka ma obowiązek promować char na int.

Paweł

Reply to
Paweł Więcek

Slusznie, jednak w AVR-GCC typ ten najpewniej powstaje tak:

typedef unsigned char uint8_t;

Sprawdz w types.h :).

Reply to
arkadiusz.antoniak

snipped-for-privacy@wp.pl napisał(a):

Akurat te standardowe typy leżą w inttypes.h (ew. stdint.h)

Reply to
Adam Dybkowski

Nie wazne gdzie, wazne ze dziala ;-)

A po co w ogole to tak jest zrobione?

AW

Reply to
AW

looknalem do GMUARM-a ;). Widocznie tu jest inaczej

Reply to
arkadiusz.antoniak

jesli unsigned char z jakich tajemniczych powodow sprawia autorowi problem, to uint8_t zefiniowany tak jak napisalem tez bedzie :)

Glownie po to, aby uniezaleznic sie od platformy. Nie ma reguly, ze unsigned int jest np. 16-bitowy, choc na niektorych platformach wlasnie tak jest. W ARM7 bedzie 32-bitowy itp. itd. unsigned char niemal wszedzie jes 8 bitowy, ale 8-bitowosc to nie jest jego cecha przyrodzona :). Jesli wiec cecha typu ma byc jego dlugosc bitowa, to stosuje sie takie podejscie. Na innej platformie latwo to zmienic - wystarczy podmienic plik z definicjami typow i nie trzeba zmieniac calego programu.

Reply to
arkadiusz.antoniak

Thus wrote snipped-for-privacy@wp.pl:

Z tym tylko, że tam, gdzie char nie jest ośmiobitowy nie znajdzie się ośmiobitowego typu wcale -- bo standard języka narzuca, że char ma się mieścić w pojedyńczym bajcie (który zazwyczaj jest ośmiobitowy, ale...).

Paweł

Reply to
Paweł Więcek

Paweł napisał(a):

A czasem kod mrygania nie jest skopany? Nie podałeś go. Moze mrygaj to zmiana stanu lampki i bedzie taki efekt właśnie?!

Reply to
Piotr [PKi

Paweł napisał(a):

mysle ze chyba to to: jedyny blad jaki zrobiles to "int" po for. na poczatku programu deklarujesz zmienna unsigned, czyli od 0 do 255 a potem w forze deklarujesz ja jako int czyli od 0 do 127. ale to jest smieszne poniewaz powinien zadeklarowac od 0 do 32767, przynajmniej tak jest w C, nie wiem jaki masz jezyk programowania, ale to powinno pomoc

Reply to
Deaco

Dnia Thu, 25 May 2006 11:32:04 +0200, Paweł napisał(a):

Gdyby było z int stawiałbym na opcję -mint8 przy kompilacji :)

Pozdrawiam Marcin Stanisz

Reply to
Marcin Stanisz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.