请问大侠一个问题,这个问题困扰我一周多了:
我目前用S08单片机,在CW环境下,我想每次单片机一上电都产生不同的随机数,但不知道怎么实现好。
如果采用rand();函数,它产生的随机数实际并不是真正意义随即的,也就是我在单片机上电的时候,调用rand();,我监视这个数据,发现每次单片机一上电,第一个数都是相同的。而我需要的就是第一个数要求随机,所以不能通过简单的调用rand()去实现这个功能。
网上有介绍另一个方法,就是用time()函数获得系统时间,然后把它作为随机数种子,然后调用srand(time());这样就可以使单片机每次上电都产生不同的随机数,但是在CW环境下,我#include <time.h>,然后调用time();函数,发现CW环境不认识这个函数。
请问大侠如何解决这个问题 呢?还一个方法就是读RAM中的数据,一上电的时候RAM数据应该都是随即的,但是CW环境下,每次start08.c里面都在系统上电的时候把RAM中的单元都清零了,还有啥办法解决我的问题呢?多谢! |