CC1110 用时间做种生成随机数,无法生成,请指教
时间:12-23
整理:3721RD
点击:
问题描述:公司需要用cc1110做一款遥控器,每个遥控器的ID不同,我想让每个遥控器第一次开机的时候读取FLASH的一个特定字节,看是否有已经写过ID的标志,如果没有,则用时间做种,生成一串16字节的随机数,写入flash,再在特定字节写入“写过ID”的标志,之后运行主程序。现在的问题就是,不能用时间做种,time.h是C语言的标准库,添加到IAR的头文件库中,便已无法通过,造成每次生成的随机数都是一样的。请问各位有没有好的方法,解决这一问题,或者说其他的可以为每一片芯片设置一个不同的ID的。我还有个想法是去读取每个芯片自己的出厂ID 或者编码,但是却不知道如何读取,不知各位有没有什么好办法。
芯片:CC1110-F32
软件环境:IAR FOR 8051
硬件环境:CC1110-F32数据手册上433MHz射频的参考电路,公司自己打的板。
CC1110产生随机数,在datasheet里面应该是有说可以用置ADCCON1.RSTRL 为01来生成
您好 cc1110产生随机数的那个问题已经解决了 感谢您的指导 !
现在,还有一个问题,我的这个应用是使用cc1110做一款遥控器,产生一串随机数作为遥控器ID,并存储在flash里面,
现在的问题就是,存在flash里面的这一串数,掉电就被清空了,附件中有我的程序,请问有没有什么好的办法可以实现数据掉电不失呢?
烦请指导,非常感谢!