Kviz pri patku, podpasovka v C ?
Jiří Nesvačil
nesvacil na posys.eu
Sobota Listopad 5 15:06:28 CET 2016
Zdravim,
jasne usetri se pamet.
A jak to napisete v 32 bitech ?
uint32_t _last_time_key_scan,tick;
//....
// porovnani s cast
if( ((uint32_t)(tick-_last_time_key_scan)) >= 4) // 1x za 4ms
// tohle se mi jiz moz nelibi
if( (tick-_last_time_key_scan) >= 4) // 1x za 4ms
Myslim si, ze ani v 32 bitech mi to neprijde moc prehlednejsi. Ten cast tam mozna nemusi byt, ale pokud nekdo na druhe strane porovnani pouzije neco jineho, tak by to mozna kompiler mohl vyhodnotit jako vetsi signed. A to by jiz uplne ok nebylo. Nebo
to nekdo okopiruje do jineho jazyku a muze se divit obcasnemu casovani mimo.
Jirka
Dne 4. 11. 2016 v 19:25 Miroslav Mraz napsal(a):
> Neuniká, zrovna tahle proměnná může být klidně lokální v main(). Spíš mě zaráží proč je 8-bitová. To, že ušetří (možná) 3 byty mu docela zkomplikuje život. Asi je to zvyk z 8-bitových čipů.
>
> Mrazík
>
> Dne 4.11.2016 v 18:56 Jaroslav Buchta napsal(a):
>> Cemu chybi static??? uint8_t _last_time_key_scan; ???
>> Mozna mi neco unika ale nezda se mi, ze by to melo na funkci vliv, to
>> snad jen zneviditelni promennou pro dalsi moduly. A pokud by se jinde
>> pouzil stejny identifikator, hodi to chybu pri linkovani.
>>
> _______________________________________________
> 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