ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

单片机产生二维8*8随机数

2021-12-26 13:32:07  阅读:135  来源: 互联网

标签:rand randflag Randnum 单片机 二维 num 随机数 col row


代码可运行

void Random()		//取随机数row、col
{
	u8 j;
	num = 0;
	if(num == 0)
	{
		row = rand()%8;
		col = rand()%8;
		
		Randnum[0] = 10*row+col;

	}
	while(num > 0 && num < 64)
	{
		row = rand()%8;
		col = rand()%8;
		for(j=0;j<num;j++)
		{	
			if(Randnum[j] == 10*row+col) randflag = 1;
			if(Randnum[j] != 10*row+col) randflag = 0;
			if(randflag == 1)
			{
				row = rand()%8;
				col = rand()%8;	
			}
			if(randflag == 0) Randnum[num] = 10*row+col;
		}
	}
	if(num == 63) num = -1;
}
void Int0() interrupt 0 //外部中断 0 的中断函数
{
	delay(1000); //延时消抖
	if(k3 == 0)
	{
		delay(1000);
		num = num + 1;
		Random();
	}
}

产生的不是严格意义上真正的随机数

标签:rand,randflag,Randnum,单片机,二维,num,随机数,col,row
来源: https://blog.csdn.net/die_lianhua/article/details/122154173

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有