Instrkce na libovolné číslo??

Jako kompliment to moc nezní, ale když jsem si pročítal zdejší příspěvky, tak má poci, že mnozí podléhají jisté iluzi.
Jeli náhodné číslo generováno funkcí
y = f(a++)
kde a je vnitřní proměnná typu static a inkrementuje se s každým použitím této funkce, nemůže jít o generování náhodných čísel. Už si přesně nepamatuju terminologii z matematiky takže se asi dopustím asi pojmové chyby. Funkce je zobrazením množiny A do množiny Y. Tzn. že každému prvku a z množiny A je jednoznačne přiřazen prvek y z množiny Y. Přičemž 2 různým a může být přiřezen tentýž prvek y. Z toho plyne, že jakákoli funkce zařídí pouze záměnu pořadí generovaných čísel, ale jejich poslounost se bude periodicky opakovat. Je to stejné, jako když vezmete paměť EEPROM, do ní nahrajete “zázračná” data, na adresové vodiče připojíte čítač, který se inkrementuje s každám použitím funkce a z datových vodičů odeberet “náhodné” číslo. Nic na tom nezmění ani obsah paměni, ani záměna datových nebo adresových vodičů. Pouze to bude mít vliv na generování pořadí čísel, ale pořád je to systametický periodický generátor čísel. nikoli náhodný.

Jednoduchá ukázka praktického použití randomgenerátou, kde záleží na tom, aby opravdu generoval náhodá čísla, je tzv. zasněžení grafické plochy pomocí kreslení pixelu. Pixely se vykreslují např. do obdelníku tak dlouho, až pokryjí celou plochu. Jeho souřadnice X,Y se počítají z randomgenerátoru. Pokud to nejsou opravdu náhodná čísla, tedy nesplňují 4 výše uvedené podmínky, místo zaplnění celé plochy se nakreslí prapodivné obrazce a určitá místa se nikdy nevykreslí.

Nemá smysl uvažovat o funkci y = f(a++) a hledat zázračné algoritmy typu XOR, SWAP, ROL nebo přičítání 53, jak je zde nabízeno, protože funkce má jedinou vnitřní proměnou a, kterou když vynulujeme, bude generovat vždy sejnou poloupnost čísel. Musí obsahovat ještě další patametr, jež se mění nezávisle na chodu MCU, jako je šum ADC, frekvence sítě, frekvence RTC, doba stisknutého tlačítka atd. atd.