Pytanie do praktyków C51

Witam wszystkich. Chcê przy u¿yciu pakietu Raisonance do 8051 napisaæ pewien program w którym muszê losowaæ liczby. W jednym przypadku maksymalnie 8 bitowe a w drugim 16 bitowe. Po przejrzeniu manuala do kompilatora Raisonance nie znalaz³em jednak ¿adnej funkcji typu rnd(), random() czy jako¶ podobnie.

Mam w zwi±zku z tym pytanie. Czy ¼le szuka³em i w tym pakiecie jest taka funkcja. A jesli nie to jak sobie z tym poradziæ. Czy mo¿na do tego pakietu znale¿æ jak±¶ bibliotekê zawieraj±c± tak± funkcjê? Jak wogóle sobie poradziæ z losowaniem liczb w 8051? Mo¿e zxorowaæ wszystkie komórki pamiêci ram. Jest ich tylko 128 wiêc bêdzie do¶æ szybko a jego zawarto¶æ ci±gle siê zmienia wiêc bêdzie to do¶æ losowe. Mo¿e s± jakie¶ lepsze pomys³y?

pozdrawiam wszystkich i czekam na podpowiedzi

Reply to
S³awomir Kapelko
Loading thread data ...

A może zadowolisz się liczbami pseudolosowymi? Jeżli tak to na

formatting link
jest biblioteka RC4 do generacji liczb pseudolosowych.

Jako źródło (seed) można na początek użyć chocby tego xor-owania pamięci albo zliczonego czasu wykonania jakiejś zewnętrznej czynności a następne liczby wygeneruje już procedura.

A jak wystarczy prostsza pseudolosowość to tu masz wzór na generację 16 bitowej liczby:

Random(n):= [(random(n-1)+1)*75] mod 65536

Reply to
Fish

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.