[問題] Arduino randomSeed 問題

看板ASM作者 (godmice)時間5年前 (2018/08/14 15:14), 5年前編輯推噓3(301)
留言4則, 3人參與, 5年前最新討論串1/1
各位大大好, 小女子剛開始接觸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://www.ptt.cc/bbs/ASM/M.1534230893.A.201.html

08/14 23:49, 5年前 , 1F
運氣好吧 放loop裡面跑應該就正常
08/14 23:49, 1F
想請問運氣好是什麼意思QQ 放loop是可以 但其他間距都行 就只有差7的間距不行 想知道是什麼狀況 或是有什麼限制嗎? ※ 編輯: godmice (111.71.13.37), 08/15/2018 00:09:17

08/15 05:24, 5年前 , 2F
A0 給不同值,亂數原理問題
08/15 05:24, 2F
為什麼(1,6)(1,3)(1,10)都是亂數 就只有(1,8)會固定是1呢? ※ 編輯: godmice (111.71.13.37), 08/15/2018 09:01:26

08/15 13:27, 5年前 , 3F
random可以看到原始碼嗎?從這邊去找應該會比較有頭緒~
08/15 13:27, 3F

08/15 13:36, 5年前 , 4F
拍謝~恍神有點亂回,可以參考樓樓上說的改seed~
08/15 13:36, 4F
文章代碼(AID): #1RSe5j81 (ASM)