super.

das klingt wunderbar und dein programm ist auch logisch und einfach zu verstehen. allerdigns weiß ich nicht, wie ich das a) in c umsetzt und b) den wert des ADC vom asuro bekomme...

Code:
/*Funktion, die eine Zufallszahl zwischen min und max liefert*/
int zufall(int min, int max)
{
	static uint8_t RandomNr=0;
	uint8_t ADC_Val;
	int n;
	
	for(n=0;n<8;n++)
	{
		/*hier müsste jetzt der Wert aus dem ADC geholt werden, aber wie?!*/
		ADC_Val=GetWert();

		ADC_Val&=0x01;
		ADC_Val=ADC_Val<<n;

		RandomNr=RandomNr+ADC_Val;
	}
	
	return min+(RandomNr%(max-min+1));
}
kann man das so machen?! und wenn ja, mit welcher funktion oder wie auch immer, kann ich an den wert aus dem ADC rankommen?!

und dann gleich noch ne frage: geht das auch mit 16bit?! müsste doch ansich, oder?

z.b. so:

Code:
/*Funktion, die eine Zufallszahl zwischen min und max liefert*/
int zufall(int min, int max)
{
	static uint16_t RandomNr=0;
	uint8_t ADC_Val;
	int n;
	
	for(n=0;n<16;n++)
	{
		/*hier müsste jetzt der Wert aus dem ADC geholt werden, aber wie?!*/
		ADC_Val=GetWert();

		ADC_Val&=0x01;
		ADC_Val=ADC_Val<<n;

		RandomNr=RandomNr+ADC_Val;
	}
	
	return min+(RandomNr%(max-min+1));
}
?!

(edit: ich hab natürlich in meinem eifer das eigentliche erzeugen der zufallszahl vergessen. soll heißen: das prgramm liefert uns jetzt den seed, mit dem wir dann die rand() initialisieren müssen... nicht wundern! )