[问题] 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