已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
3天前关闭。
Improve this question
我正在尝试给一个微控制器编程,我希望寄存器的值为0或1,这样做的目的是如果值为1就打开一个led,如果值为0就保持关闭。我已经尝试过使用兰德,但它似乎不起作用。我还尝试过使用这个:
static int rand_number = 199198; // any random number
rand_number = ((rand_number * rand_number) / 10 ) % 9890;
return rand_number % (max_range+1-min_range) + min_range ; }
但它似乎不起作用,因为生成一个大于0或1的值,而我使用的参数只能有0或1的值。另外,如果我试图导入一个像chrono或time这样的库,我会得到错误,所以这是不可能的。我用C编写代码,使用pic12f675。
1条答案
按热度按时间0pizxfdo1#
您可以使用链接问题accepted answer中建议的任何LFSR生成器,然后从中提取单个位,有多种可能的解决方案,其中包括:
output & 1
。您可以使用任何其他位,例如,将之前的输出下移(output >> 3) & 1
。bit
而不是lfsr
。这已经是范围[0,1]中的值。