[問題] Arduino randomSeed 問題

作者: godmice (godmice)   2018-08-14 15:14:50
各位大大好,
小女子剛開始接觸arduino,
看著書自學,遇到了一些問題。
const unsigned int LED_BIT0=12;
const unsigned int LED_BIT1=11;
const unsigned int LED_BIT2=10;
const unsigned int BAUD_RATE=9600;
void setup() {
pinMode(LED_BIT0,OUTPUT);
pinMode(LED_BIT1,OUTPUT);
pinMode(LED_BIT2,OUTPUT);
Serial.begin(BAUD_RATE);
randomSeed(analogRead(A0)); //AO randomseed
long result=random(1,7); //1~6
Serial.println(result);
output_result(result);
}
void loop() {
}
void output_result(const long result){
digitalWrite(LED_BIT0,result & B001);
digitalWrite(LED_BIT1,result & B010);
digitalWrite(LED_BIT2,result & B100);
這是按照書上打的,運行上沒問題
但當我把long result=random(1,7);
改成long result=random(1,8);時
就只會出現1這個數字
改成long result=random(2,9);
則只會出現2
想請問強者們,為甚麼會這樣QQ
作者: god145145   2018-08-14 23:49:00
運氣好吧 放loop裡面跑應該就正常
作者: johnpage (johnpage)   2018-08-15 05:24:00
A0 給不同值,亂數原理問題
作者: suninrain (低潮)   2018-08-15 13:27:00
random可以看到原始碼嗎?從這邊去找應該會比較有頭緒~拍謝~恍神有點亂回,可以參考樓樓上說的改seed~

Links booklink

Contact Us: admin [ a t ] ucptt.com