[avr-gcc] problem
Masz problem? Zapytaj na forum elektroda.pl
From: Pawel K <groups_at_nospam_kpw.qs.pl>
Subject: [avr-gcc] problem
Date: Sat, 25 Jun 2005 02:57:23 +0200
Witam,
mam taka strukture ...
struct Units{
uint8_t Te_unit:2;
uint8_t pH_unit:2;
uint8_t Rx_unit:2;
uint8_t Co_unit:2;
};
jak przekazac do funkcji przez wskaznik 1 element a nie cala zmienna ???
wydaje mi sie ze sie nie da ... ale noz widelec :)
--
--
Best regards
K_at_nospam_pW from Poland
kpw(at)qs.pl
http://kpw.qs.pl
GG: 1263183
---------------- end ----------------
From: "Paweł Cern" <name_at_nospam_surname.neostrada.pl>
Subject: Re: [avr-gcc] problem
Date: Sat, 25 Jun 2005 08:22:18 +0200
Użytkownik "Pawel K" <groups_at_nospam_kpw.qs.pl> napisał w wiadomości
news:d9ia6b$s4n$1_at_nospam_opal.futuro.pl...
Witam,
mam taka strukture ...
struct Units{
uint8_t Te_unit:2;
uint8_t pH_unit:2;
uint8_t Rx_unit:2;
uint8_t Co_unit:2;
};
Units zmienna;
...
// Kod w którym wołamy funkcję
{
...
funkcja(&(zmienna.Te_unit));
}
...
void funkcja(unit8_t * arg)
{
...
}
Myślę że jakoś tak.
Paweł
From: Marek Michalkiewicz <spamtrap_at_nospam_amelek.gda.pl.invalid>
Subject: Re: [avr-gcc] problem
Date: Sun, 26 Jun 2005 17:40:16 +0200 (CEST)
"Pawe? Cern" <name_at_nospam_surname.neostrada.pl> wrote:
uint8_t Te_unit:2;
funkcja(&(zmienna.Te_unit));
Chyba nie bardzo... wskaznik do kawalka bajtu (2 bitow)?
Marek
From: "drozdu" <lbajger_at_nospam_wp.pl>
Subject: Re: [avr-gcc] problem
Date: Sun, 26 Jun 2005 22:58:48 +0200
Chyba nie bardzo... wskaznik do kawalka bajtu (2 bitow)?
Sam napisales ze chcesz przekazac tylko element struktury, w tym przypadku
prawdopodobnie zostal by przekazany bajt z zamaskowanymi pozostalymi bitami.
Trudno powiedziec bo to zalezy od kompilatora (prawie napewno w gcc nie mozesz
przekazac w argumencie do funkcji mniej niz 1 bajt). Poza tym kontrowersyjna
jest dla mnie kwestia stosowania pol bitowych w strukturze, chociaz gcc...
pozdr.
LB
From: Krzysztof Rudnik <rudnik_at_nospam_kki.net.pl>
Subject: Re: [avr-gcc] problem
Date: Mon, 27 Jun 2005 09:09:38 +0200
drozdu wrote:
Chyba nie bardzo... wskaznik do kawalka bajtu (2 bitow)?
Sam napisales ze chcesz przekazac tylko element struktury, w tym przypadku
prawdopodobnie zostal by przekazany bajt z zamaskowanymi pozostalymi
bitami. Trudno powiedziec bo to zalezy od kompilatora (prawie napewno w
To by sie w ogole nie skomilowalo. Zreszta, skad funkcja mialaby wiedziec
ktore bity ma/moze zmieniac, a ktore nie.
gcc nie mozesz przekazac w argumencie do funkcji mniej niz 1 bajt). Poza
tym kontrowersyjna jest dla mnie kwestia stosowania pol bitowych w
strukturze, chociaz gcc...
Pola bitowe nie sa obowiazkowe, jest taki element jezyka, ale
jak komus nie pasuje zawsze mozna wziac jakis int i maskowac bity
recznie.
Krzysiek Rudnik