pic a C
Josef Štengl
ok1ced na nagano.cz
Pondělí Leden 14 18:19:03 CET 2013
No, pro mě je case přehlednější než smečka else if :-).
A to ostatní také. Pokud chci zjistit, jestli je nastaven nějaký bitík,
tak napíšu
#define TimeChange ((*(unsigned char *)&_changeDateTime))
...
if (TimeChange)
{
switch (TimeChange)
{
case NewWordBegin:
....
}
}
Ale hádat se s vámi nebudu. :-)
ced
Dne 14.1.2013 15:13, Miroslav Draxal napsal(a):
> Nééé, chtěl jsem si to zpřehlednit. Míra
>
> *From:*hw-list-bounces na list.hw.cz [mailto:hw-list-bounces na list.hw.cz]
> *On Behalf Of *Josef Štengl
> *Sent:* Monday, January 14, 2013 1:06 PM
> *To:* HW-news
> *Subject:* Re: pic a C
>
> Takhle?
>
> switch ((*(unsigned char *)&_changeDateTime)) /* Naposledy jsem to
> použil před 7 lety, nyní to mám v kolonce NEPOUŽÍVAT. Ale to je jedno.
> */
> {
> case 0x01u; /* newHalfSec */
> ...
> break;
> case 0x02u; /* newSec */
> ...
> }
>
> Ale pozor. nejsem si jist pořadím bitů, je to závislé na architektuře.
> Možná to bude chtít prohodit.
>
> Já bych na to šel jinak.
>
> unsigned char date_time;
>
> #define newHalfSec 0x01u;
> #define newSec 0x02u;
> #define newMinuta 0x04u;
> atd ...
>
> #define set_time(co) date_time |= co
> #define clear_time(co) date_time &= ~co;
>
> No není to sice SIL validní, ale to bitové pole ne, tak to zřejmě nebude
> vadit :-)
>
> Dne 14.1.2013 12:31, Miroslav Draxal napsal(a):
>> Dobrý den,
>>
>> Tak zase zápis.
>>
>> typedef struct {
>>
>> unsigned newHalfSec : 1; // nová půlsekunda
>>
>> unsigned newSec : 1; // nová sekunda
>>
>> unsigned newMinuta : 1; // nová minuta
>>
>> unsigned newHodina : 1; // nová hodina
>>
>> unsigned new10ms : 1; // nových 10ms
>>
>> unsigned new20ms : 1;//nových 20ms
>>
>> unsigned new100ms : 1;//nových 100ms
>>
>> unsigned HodinyStop : 1; //zastaví běh hodin
>>
>> } _changeDateTime;
>>
>> typedef struct {
>>
>> char rok;
>>
>> char mesic;
>>
>> char den;
>>
>> char den_tyden;
>>
>> char hodin;
>>
>> char minut;
>>
>> char sekund;
>>
>> char counter; // kolikrát za 1sekundu dojde k přerušení
>>
>> uint * pDenNazev; // ukazatel na paměťový prostor s názvem dnu
>>
>> _changeDateTime changeDateTime;
>>
>> } _DateTime;
>>
>> _DateTime DateTime;
>>
>> Jak do Switch zapsat něco takového viz níže. Zase nějak přes pointery?
>>
>> /Switch (DateTime.changeDateTime)/
>>
>> /{/
>>
>> /Case . new10ms:/
>>
>> /…. /
>>
>> / Break;/
>>
>> /Case …./
>>
>> /}/
>>
>> Míra**
>>
>>
>>
>> __________ Informace od ESET NOD32 Antivirus, verze databaze 7890
>> (20130114) __________
>>
>> Tuto zpravu proveril ESET NOD32 Antivirus.
>>
>> http://www.eset.cz
>>
>>
>> _______________________________________________
>> 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
> _______________________________________________
> 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 7891
> (20130114) __________
>
> Tuto zpravu proveril ESET NOD32 Antivirus.
>
> http://www.eset.cz
>
>
>
> __________ Informace od ESET NOD32 Antivirus, verze databaze 7891
> (20130114) __________
>
> 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ší informace o konferenci Hw-list