RT-Thread论坛
直播中

张莉

7年用户 1240经验值
私信 关注

请问rt-thread studio如何使用硬件随机数生成器?

void generate_random_string(char* result)
{
    // 随机种子初始化
    srand(time(NULL));
    const char characters[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    size_t max_length = 10;
    for (size_t i = 0; i < max_length; i++) {
        // 生成一个随机索引值
        uint32_t index = rand() % (sizeof(characters) - 1);
//        rt_kprintf("index is:%d\n",index);
        // 将对应的字符复制到结果字符串中
        result = characters[index];
    }
    // 结尾添加null字符
    result[max_length] = '\0';
}
在rt-thread studio中想使用以上函数生成一个十位的字符串,但是为什么每次生成的都是一样的?想请大家指导一下。
经过查询得知可以使用rt_hw_random_get()函数来获取硬件随机数,请文需要做什么配置才能使用rt_hw_random_get()函数。

回帖(1)

夏日余晖

2024-2-23 15:09:53
只需要把你的程序改一下就可

  • srand(rt_tick_get());
QQ截图20240223150930.png

举报

更多回帖

×
20
完善资料,
赚取积分