pole bitového pole v C
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Sobota Leden 12 19:44:45 CET 2013
imho jedine pres ukazatel: *((_byt*)&byt).bit0 = 1 kde uz neni mozna
zadna typova kontrola. (nezkousel jsem to, zavorkama si nejsem vubec
jisty...)
Dne 12.1.2013 19:38, Miroslav Draxal napsal(a):
> Re: pole bitového pole v C
>
> Ještě přihodím do fora otázečku. Mějme
>
> Char byt;
>
> a
>
> typedef union bytX
>
> {
>
> char value;
>
> unsigned bit0 : 1;
>
> }_byt;
>
> Lze udělat
>
> _bytX.value = byt;
>
> Nelze přetypovat proměnou byt na _byt??? Ne hodnotu, ale přímo
> proměnnou. Překladač mi použije dvě proměnné, mohl by používat
> původní. Po přetypování proměnné asi takhle.
>
> Byt.bit0 = 1;
>
> Míra
>
> *From:*hw-list-bounces na list.hw.cz <mailto:hw-list-bounces na list.hw.cz>
> [mailto:hw-list-bounces na list.hw.cz] *On Behalf Of *Miroslav Draxal
> *Sent:* Saturday, January 12, 2013 6:51 PM
> *To:* 'HW-news'
> *Subject:* RE: pole bitového pole v C
>
> Když já pořádně neumím pic, a to mam jít do něčeho úplně neznámého?
> Nechte mi je. Pracuji s mrňavým 10f200, středním 18f1320/30 a s velkým
> 18f4620. Nic víc mi ke štěstí nechybí. Ono jde spíš si osvojit pořádně
> to C, přijít na určité finty jak to napsat, vymyslet správné postupy
> atd. mě spíš přijde, že je to víc o soft než hw. Jak říkám, píču v C,
> ale sám sebe přistihnu, jak na to jdu ze strany ASM. Míra
>
> *From:*hw-list-bounces na list.hw.cz <mailto:hw-list-bounces na list.hw.cz>
> [mailto:hw-list-bounces na list.hw.cz] *On Behalf Of *Jaroslav Buchta
> *Sent:* Saturday, January 12, 2013 6:41 PM
> *To:* HW-news
> *Subject:* Re: pole bitového pole v C
>
> Ja stale nechapu, proc se nekdo drzi procesoru s tak mizernou vybavou.
> Chapu u velkych serii, ze jde o kazdou korunu ale na bastleni tam je
> snad jedno jestli tam vrazim PIC za 30 nebo ARM za 70 (pripadne
> konzervativne treba ATMEGA32 za 40)... Ladici nastroje jsou za par
> stovek, soft zadarmo. Kdyz se to programuje v C-cku, tak je to celkem
> stejne a tech par potrebnych periferi se osaha za chvili (s pouzitim
> vzorovych zdrojaku to neni potreba ani moc studovat pro standardni
> pouziti).
>
> Dne 12.1.2013 18:36, Miroslav Draxal napsal(a):
>
> Ano, a porodníma bolestma jsem vyplodil něco hodně podobného,
> jenom jsem všude použil char, protože mam jenom 256 RAM. Na netu
> jsem kdysi zahlídnul něco, co používalo nějakou fintu. Ale za boha
> si nevzpomenu kde to bylo. Byli to dva řádky. Míra
>
> *From:*hw-list-bounces na list.hw.cz
> <mailto:hw-list-bounces na list.hw.cz>
> [mailto:hw-list-bounces na list.hw.cz] *On Behalf Of *Jan Waclawek
> *Sent:* Saturday, January 12, 2013 3:45 PM
> *To:* HW-news
> *Subject:* Re: pole bitového pole v C
>
> > je to vlastně pole char[3], chtěl bych napsat něco univerzálního, kde bych
> > zadal ukazatel na počátek pole, jaký bit nastavit např.14.
> >
> > Nějak mě nenapadá žádný elegantní způsob. Ale zase, někde jsem
> to někde
> > viděl v asm pro PIC. Míra
>
> #include <stdint.h>
> uint8_t bits[3]
>
> void SetBit(uint8_t * bitfield, uint8_t idx, _Bool value) {
> uint8_t mask;
> mask = 1 << (idx % 8);
> if (value) {
> bitfield[idx / 8] |= mask;
> } else {
> bitfield[idx / 8] &= (~mask) & 0xFF;
> }
> }
>
> _Bool GetBit(uint8_t * bitfield, uint8_t idx) {
> return (_Bool)(bitfield[idx / 8] & (1 << (idx % 8))
> }
>
> wek
> wek
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz <http://www.HW.cz>
> Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
> __________ Informace od ESET NOD32 Antivirus, verze databaze 7886
> (20130112) __________
>
> Tuto zpravu proveril ESET NOD32 Antivirus.
>
> http://www.eset.cz
>
>
>
> __________ Informace od ESET NOD32 Antivirus, verze databaze 7886
> (20130112) __________
>
> Tuto zpravu proveril ESET NOD32 Antivirus.
>
> http://www.eset.cz
>
> _______________________________________________
>
> HW-list mailing list - sponsored bywww.HW.cz <http://www.HW.cz>
>
> Hw-list na list.hw.cz <mailto:Hw-list na list.hw.cz>
>
> http://list.hw.cz/mailman/listinfo/hw-list
>
>
>
>
> __________ Informace od ESET NOD32 Antivirus, verze databaze 7886
> (20130112) __________
>
> Tuto zpravu proveril ESET NOD32 Antivirus.
>
> http://www.eset.cz
>
>
>
> __________ Informace od ESET NOD32 Antivirus, verze databaze 7886
> (20130112) __________
>
> Tuto zpravu proveril ESET NOD32 Antivirus.
>
> http://www.eset.cz
>
>
> __________ Informace od ESET NOD32 Antivirus, verze databaze 7886
> (20130112) __________
>
> Tuto zpravu proveril ESET NOD32 Antivirus.
>
> http://www.eset.cz
>
>
>
> __________ Informace od ESET NOD32 Antivirus, verze databaze 7886
> (20130112) __________
>
> Tuto zpravu proveril ESET NOD32 Antivirus.
>
> http://www.eset.cz
>
>
> __________ Informace od ESET NOD32 Antivirus, verze databaze 7886
> (20130112) __________
>
> Tuto zpravu proveril ESET NOD32 Antivirus.
>
> http://www.eset.cz
>
>
>
> __________ Informace od ESET NOD32 Antivirus, verze databaze 7886
> (20130112) __________
>
> Tuto zpravu proveril ESET NOD32 Antivirus.
>
> http://www.eset.cz
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20130112/addcd337/attachment.htm>
Další informace o konferenci Hw-list