zufallsfunktion mit pic16

OP #2440489
Lesenswert?

hallo,

ich hatte auf einem pic24 die gute alte srand() funktion benutzt um mir 
"zufallszahlen" generieren zu lassen. nun bin ich auf einen pic16 
umgestiegen. dabei hab ich den compiler gewechselt (nun hi-tech). dieser 
kennt diese funktion nicht. ich habe mit google und der threadsuche hier 
nicht viel zu diesem thema gefunden. weiß jemand wie ich diese funktion 
trotzdem implementieren kann? das sollte doch eigentlich recht leicht 
möglich sein oder ?!

danke und liebe grüße
#2440493
Lesenswert?

Tim R. schrieb:
> weiß jemand wie ich diese funktion
> trotzdem implementieren kann? das sollte doch eigentlich recht leicht
> möglich sein oder ?!

Kennst du das gute alte Rückgekoppelte Schieberegister? Das macht z.B. 
Pseudozufallszahlen.
Wenn der µC einen AD-Wandler hat, kann man eine beliebige Rauschquelle 
da dran hängen und die untersten 8bits hernehmen.

mfg mf
OP #2440517
Lesenswert?

rückgekoppelte schieberegister ... ohha mal gehört hehe ...

das mit der rauschquelle verstehe ich nicht ganz, könntest du das näher 
erläutern? ich schätze du meinst durch das schwanken des übersetzten 
wertes kann man "zufallszahlen" generieren aber mit rauschverhalten habe 
ich mich nie wirklich auseinander gesetzt um sagen zu können, dass dort 
immer verschiedene zahlen generiert werden könnten?!
Gast #2440527
Lesenswert?

Tim R. schrieb:
> das mit der rauschquelle verstehe ich nicht ganz, könntest du das näher
> erläutern? ich schätze du meinst durch das schwanken des übersetzten
> wertes kann man "zufallszahlen" generieren aber mit rauschverhalten habe
> ich mich nie wirklich auseinander gesetzt um sagen zu können, dass dort
> immer verschiedene zahlen generiert werden könnten?!

z.B. ein offener AD-Wandler-Eingang...
OP #2441270
Lesenswert?

ok danke für die antworten ... es scheint wohl auf den offenen ad 
eingang hinaus zu laufen ...

nur folgendes problem ... das hätte ich erwähnen sollen:
das ganze möchte ich simulieren und danach aufbauen. und ein offener ad 
eingang in einer simulation? das schafft noch kein programm oder ?

@Rainer, danke das werde ich mal testen
Gast #2441405
Lesenswert?

Tim R. schrieb:
> das ganze möchte ich simulieren und danach aufbauen. und ein offener ad
> eingang in einer simulation? das schafft noch kein programm oder ?

Mach dir ne random table und füttere den A/D Stimulus damit (Mplab).

Aber wie ihr auf den Gedanken kommt das ein offener A/D Eingang einen 
Zufallswert liefern soll verstehe ich nicht. Ein Pic A/D hat so ca. 100 
kOhm Eingangswiderstand und nen S&H Kondensator hinter den Kanal- und 
LeseJetzMalNeSpannungEin Schaltern. Damit kannst du wunderbar den 
Kriechstrom auf der Leiterplatte zum Pin messen oder eben das 
FastNichtentladen des S&H Kondensators beim nächsten Messzyklus oder was 
sich seit dem letzten Einlesen am Pin so aufgebaut hat. Da kommt dann 
immer ein ähnlicher Wert bei raus (was deine random table schön kurz 
macht ;-).
Gast #2441417
Lesenswert?

in Hi-Tech sollte es eingentlich eine rand() Funktion geben. Genaueres 
sowie
Seed sollte das Manual liefern.Zur Initialisierung, Timer0 ist auch 
nicht schlecht, speziell wenn man nach einem POR ein WDT macht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren