Re: Slumpmässig strömbrytare 12v med tidsfördröjning?
Postat: 10 januari 2012, 15:49:47
Glattnos skrev:Icecap: Jag använder assembler och är inte så bra på C. Vad är det som händer i koden du skrev?
Är det typ att variabeln "data" multipliceras med PRIME_1 och adderas med PRIME_2, sedan läggs den lägsta byten av resultatet i "data" igen. Så snurrar det på hela tiden så att det är "data" man ska plocka när man vill ha ett "slump-tal"?
Förmodligen har jag fel
Kan man inte ta värdet från en ADC som inte är kopplad någonstans? Dom brukar ju fladdra ganska mycket. Om man tar en 10-bitars ADC och låter den "fladdra" i tomma luften. Så plockar man de lägsta bitarna och gör något med. Tex plockar de lägsta 4 bitarna fyra gånger med kanske 200 ms i mellan så lägger man dom efter varandra så man får ett 16-bitars-tal som borde kunna vara allt mellan 0 och 65535. Eller är det "förbjudet" att lämna en pinne "öppen" på det viset? Kan man sätta dit något enkelt som "fladdrar"?
Kod: Markera allt
#define PRIME_1 13
#define PRIME_2 73
void Randomize(unsigned int* Data)
{
Data *= PRIME_1;
Data += PRIME_2;
}
Men du har uppfattat det rätt hur man gör. Men denna variabel är 16-bitars (minst).
Assemblerkoden får du göra själv

Det där med ADC-ingång bör ju fungera, men risken är vissa saker upprepar sig? jag skulle inte lämna en pinne helt öppen - jag skulle sätta dit något som brusade.. vad vet jag inte just nu.