eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaDlaczego ATmega128 przekłamuje?Re: Dlaczego ATmega128 przek?amuje?
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: cepu69 <c...@t...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Dlaczego ATmega128 przek?amuje?
    Date: Fri, 16 Oct 2009 13:24:37 +0200
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 80
    Message-ID: <hb9l5n$3ch$1@inews.gazeta.pl>
    References: <hb1sbu$qoq$1@news.lublin.pl> <hb1uet$fia$7@news.dialog.net.pl>
    <hb206d$t7q$1@news.lublin.pl> <hb46v6$5vf$2@atlantis.news.neostrada.pl>
    <hb48sg$8gj$1@news.task.gda.pl> <hb4bmb$t3a$1@srv.cyf-kr.edu.pl>
    <hb4efi$i1n$1@news.task.gda.pl> <hb4j1q$gq2$1@inews.gazeta.pl>
    <hb4kif$7i5$1@atlantis.news.neostrada.pl> <hb6pqg$d3i$1@inews.gazeta.pl>
    <hb75pm$jau$1@atlantis.news.neostrada.pl>
    <hb7p8q$osq$1@nemesis.news.neostrada.pl>
    <hb821r$12c$1@nemesis.news.neostrada.pl>
    NNTP-Posting-Host: 217.153.153.214
    Mime-Version: 1.0
    Content-Type: text/plain; charset=iso-8859-2
    Content-Transfer-Encoding: 8Bit
    X-Trace: inews.gazeta.pl 1255692279 3473 217.153.153.214 (16 Oct 2009 11:24:39 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Fri, 16 Oct 2009 11:24:39 +0000 (UTC)
    X-User: cepu69
    User-Agent: KNode/0.10.9
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:573536
    [ ukryj nagłówki ]

    T.M.F. wrote:

    > W dniu 15.10.2009 20:11, MiSTER pisze:
    >>> Cos sie zapetliles, to w koncu te pola bitowe sa rozmieszczane dowolnie
    >>> czy nie?
    >>> IMHO kompilator rozmieszcza je w kolejnosci w jakiej sa zdefiniowane - w
    >>> koncu to struktura, a elementy struktury wystepuja w kolejnosci zgodnej
    >>> z definicja.
    >>
    >> Nie zaleca si? korzysta? z p?l bitowych je?eli soft ma by? kompilowany
    >> pod
    >> r?nymi platformami gdy? standard NIE DEFINIUJE kolejno?ci przypisania
    >> bit?w.
    >>
    To kompilator ustala kolejnosc bitwo we bajcie, np GCC vs propriety
    compiler:
    typedef union {
    unsigned short word;
    #ifndef __GNUC__
    struct
    {
    unsigned short :1; /* reserved */
    unsigned short CodeAssertLine :13;
    unsigned short EventOverflowTrigger :1;
    unsigned short EventCodeAssertTrigger :1;
    } bit;
    #else
    struct
    {
    unsigned short EventCodeAssertTrigger :1;
    unsigned short EventOverflowTrigger :1;
    unsigned short CodeAssertLine :13;
    unsigned short :1; /* reserved */
    } bit;
    #endif

    aczkolwiek GCC dostarcza makra __BIG_ENDIAN_BITFIELD oraz
    __LITTLE_ENDIAN_BITFIELD informujace o ukladzie bitow w slowie

    struct atapi_mechstat_header {
    #if defined(__BIG_ENDIAN_BITFIELD)
    __u8 fault : 1;
    __u8 changer_state : 2;
    __u8 curslot : 5;
    #elif defined(__LITTLE_ENDIAN_BITFIELD)
    __u8 curslot : 5;
    __u8 changer_state : 2;
    __u8 fault : 1;
    #else
    #error "Please fix <asm/byteorder.h>"
    #endif

    #if defined(__BIG_ENDIAN_BITFIELD)
    __u8 mech_state : 3;
    __u8 door_open : 1;
    __u8 reserved1 : 4;
    #elif defined(__LITTLE_ENDIAN_BITFIELD)
    __u8 reserved1 : 4;
    __u8 door_open : 1;
    __u8 mech_state : 3;
    #else
    #error "Please fix <asm/byteorder.h>"
    #endif

    byte curlba[3];
    byte nslots;
    __u8 short slot_tablelen;
    };

    >
    > Ale to jak sadze jest raczej kwestia big/little-endian.
    Nie endian mowi o kolejnosi bajtow w slowie :
    http://pl.wikipedia.org/wiki/Kolejność_bajtów

    > Dla programu nie ma to znaczenia - o ile wlasnie nie przenosze pomiedzy
    > architekturami danych wygenerowanych na innej. Bo w samym programie
    > odwolanie do pola struktury zawsze bedzie jednoznaczne.
    Oczywiscie dopoki nie jest to unia i odwolujesz sie do niej zarowno przez
    pola bitowe jak i slowa ;)

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: