keine vollständige Serial.print Ausgabe
hallo ,
der folgende Code ergibt keine vollständige Serielle Ausgabe
(original Code von hier, angepasst: https://stackoverflow.com/questions/...r-based-on-lcg)
Code:
//********************************************
// randomize functions
//********************************************
uint32_t getSeed() {
return (millis() + analogRead(A0)) ;
}
//-----------------------------------------------------
// Linear Congruence Generator, LCG
//-----------------------------------------------------
static uint32_t _RandNum_ = 1;
int rand_LCG() {
uint32_t a = 1103515245ul, c = 12345;
_RandNum_ = a * _RandNum_ + c;
_RandNum_ = (uint16_t)(_RandNum_ / 65536);
return (_RandNum_ % 32768) ;
}
void srand_LCG(uint32_t seed) {
_RandNum_ = seed;
}
//--------------------------------------------
// setup
//--------------------------------------------
void setup() {
Serial.begin(115200);
delay(2000);
Serial.println("starting...");
Serial.println();
volatile uint32_t prng, seed;
int16_t i;
char buf[30];
Serial.print("srand_LCG() seed=");
seed=1;
Serial.println(seed);
srand_LCG(seed);
//Serial.println(_RandNum_);
for(i==0; i<10; i++) {
prng=rand_LCG();
Serial.print(i); Serial.print(" "); Serial.println(prng);
}
Serial.println();
Serial.print("srand_LCG() seed=");
seed=2;
Serial.println(seed);
srand_LCG(seed);
//Serial.println(_RandNum_);
for(i==0; i<10; i++) {
prng=rand_LCG();
Serial.print(i); Serial.print(" "); Serial.println(prng);
}
Serial.println();
}
//--------------------------------------------
// loop
//--------------------------------------------
void loop() {
delay(2000);
}
auf dem esp8266 wird nur die erste, aber nicht die 2. for-Schleife angezeigt, dann hängt er sich auf:
Code:
starting...
srand_LCG() seed=1
0 16838
1 14666
2 10953
3 11665
4 7451
5 26316
6 27974
7 27550
8 31532
9 5572
srand_LCG() seed=2
auf dem Due aber wird gar keine for-Schleife mehr angezeigt:
Code:
starting...
srand_LCG() seed=1
srand_LCG() seed=2
Wo zum .... steckt der Fehler?