Pytanie do praktyków C51

Aug 11, 2003 1 Replies

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


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

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required