作者godmice (godmice)
看板ASM
标题[问题] Arduino randomSeed 问题
时间Tue Aug 14 15:14:50 2018
各位大大好,
小女子刚开始接触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
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.109.65.214
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/ASM/M.1534230893.A.201.html
1F:推 god145145: 运气好吧 放loop里面跑应该就正常08/14 23:49
想请问运气好是什麽意思QQ
放loop是可以
但其他间距都行
就只有差7的间距不行
想知道是什麽状况 或是有什麽限制吗?
※ 编辑: godmice (111.71.13.37), 08/15/2018 00:09:17
2F:推 johnpage: A0 给不同值,乱数原理问题08/15 05:24
为什麽(1,6)(1,3)(1,10)都是乱数
就只有(1,8)会固定是1呢?
※ 编辑: godmice (111.71.13.37), 08/15/2018 09:01:26
3F:→ suninrain: random可以看到原始码吗?从这边去找应该会比较有头绪~ 08/15 13:27
4F:推 suninrain: 拍谢~恍神有点乱回,可以参考楼楼上说的改seed~ 08/15 13:36