Re: Překlad do assembleru
Pavel Hudeček
edizon na seznam.cz
Neděle Říjen 8 19:34:29 CEST 2023
Časově úspornější shození bitu umí novější AVRka. Ekvivalentem toho
Vašeho by bylo
PORTA.OUTCLR = 1;
Ale největší časové úspory se dosáhne, pokud se sníží počet ifů, kterými
program musí projít. Tedy např. lineátní projití 24 ifů je dost šílený,
ale když se z toho udělá nějaká hierarchie, kterou to projde na 3-6
kroků, bude to 3-8x rychlejší.
PH
Dne 08.10.2023 v 18:22 Jaroslav Buchta napsal(a):
> Nejde to udelat nejakou byte->byte tabulkou ve flash?
> Dne 08.10.2023 v 18:16 Martin Záruba napsal(a):
>>
>> Můžete mi prosím někdo napstat jak se přeloží v C++ na AtMega
>>
>> byte b1,x;
>> if(b1==x){PORTA &=0xFE;};
>> popřípadě zda se dá vymyslet *časově* úspornější zápis pro shození bitu?
>> Přerušení je po tu dobu zakázané. Příkazů if bude v přerušení celkem
>> 24 a potřebuji přerušení vyvolat dost často, tak aby vůbec ještě
>> nějaký čas procesoru zbyl.
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20231008/dea62b8e/attachment.htm>
Další informace o konferenci Hw-list