-
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 ;)
Następne wpisy z tego wątku
- 16.10.09 11:32 T.M.F.
- 16.10.09 11:40 T.M.F.
- 16.10.09 11:58 Piotr Gałka
- 16.10.09 12:49 T.M.F.
- 16.10.09 14:22 Konop
- 16.10.09 14:24 Piotr Gałka
- 16.10.09 14:39 Piotr Gałka
- 16.10.09 15:22 T.M.F.
- 16.10.09 15:31 Ghost
- 16.10.09 15:33 Piotr Gałka
- 16.10.09 20:12 ELP
- 16.10.09 21:08 Ghost
- 16.10.09 21:26 Konop
- 17.10.09 10:25 T.M.F.
- 17.10.09 22:50 Adam Dybkowski
Najnowsze wątki z tej grupy
- Prośba o identyfikację komponentu
- Smart gniazdko straciło na zasięgu wifi?
- Smart gniazdko straciło zasięg wifi?
- nurtuje mnie
- dziwna sprawa...
- Laptop MSI się nie uruchamia.
- Dobra listwa LED (CRI 90-95, bez migotania)
- masowe programowanie AVR
- Fajny pomysł na monitor z klawiaturą
- Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
- Aparat, zewnętrzny mikrofon, brum
- Wieszanie się przy aktywnym SMP
- Prognozowanie zużycia energii przez PGE?
- Odkurzacz mnie bije :(
- Rapsberry Pi i synchronizacja plików
Najnowsze wątki
- 2024-10-18 Warszawa => Key Account Manager <=
- 2024-10-18 Przeróbka na zgrzewarkę "równoległą"
- 2024-10-18 Ostrów Wielkopolski => Laravel PHP Developer <=
- 2024-10-18 Warszawa => Data Scientist / Data Engineer (modele predykcyjne) <=
- 2024-10-18 doładowania 5zł
- 2024-10-17 Prośba o identyfikację komponentu
- 2024-10-17 Warszawa => Expert Recruiter 360 <=
- 2024-10-17 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2024-10-17 Warszawa => Software Engineer .Net <=
- 2024-10-17 Warszawa => Senior SAP HANA Developer <=
- 2024-10-17 Lublin => Spedytor międzynarodowy <=
- 2024-10-17 Olsztyn => Sales Specialist <=
- 2024-10-17 Brat k.o.medianta
- 2024-10-16 Warszawa => Programista Dynamics 365 CRM <=
- 2024-10-16 Jak dobrze zrobić dach drewutni?