CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!
无匹配项 共计114个匹配页面

RNG驱动API描述

RNG驱动的API主要如下:

表 480 RNG驱动的APIs
API类别 API名称 描述
初始化 hal_rng_init() 初始化RNG外设,配置计数初值等参数。
hal_rng_deinit() 反初始化RNG外设。
hal_rng_msp_init() 初始化RNG外设所使用的NVIC中断。
hal_rng_msp_deinit() 反初始化RNG外设所使用的NVIC中断。
IO操作 hal_rng_generate_random_number 生成随机数,轮询方式。
hal_rng_generate_random_number_it 生成随机数,中断方式。
hal_rng_read_last_random_number 获取最后生成的随机数。
中断处理及回调函数 hal_rng_irq_handler 中断处理函数。
hal_rng_ready_data_callback 计数完成回调函数。
睡眠相关 hal_rng_suspend_reg() 睡眠之前挂起和RNG配置相关的寄存器。
hal_rng_resume_reg() 唤醒时恢复和RNG配置相关的寄存器。

下面章节将对各API进行详细描述。

hal_rng_init

表 481 hal_rng_init接口
函数原型

hal_status_t hal_rng_init(rng_handle_t *p_rng)

功能说明

根据RNG句柄中的指定参数初始化RNG。

输入参数

p_rng:指向rng_handle_t结构体变量的指针,该结构体变量包含指定的RNG模块的配置信息。

返回值

HAL状态。

备注

hal_rng_deinit

表 482 hal_rng_deinit接口
函数原型

hal_status_t hal_rng_deinit(rng_handle_t *p_rng)

功能说明

将RNG外设寄存器反初始化为它们的默认值。

输入参数

p_rng:指向rng_handle_t结构体变量的指针,该结构体变量包含指定的RNG模块的配置信息。

返回值

HAL状态。

备注

hal_rng_msp_init

表 483 hal_rng_msp_init接口
函数原型

void hal_rng_msp_init(rng_handle_t *p_rng)

功能说明

初始化RNG外设所使用的NVIC中断。

输入参数

p_rng:指向rng_handle_t结构体变量的指针,该结构体变量包含指定的RNG模块的配置信息。

返回值

备注

该函数为weak类型的空函数,开发者需要重写该API以初始化RNG中断。

hal_rng_msp_deinit

表 484 hal_rng_msp_deinit接口
函数原型

void hal_rng_msp_deinit(rng_handle_t *p_rng)

功能说明

反初始化RNG外设所使用的NVIC中断。

输入参数

p_rng:指向rng_handle_t结构体变量的指针,该结构体变量包含指定的RNG模块的配置信息。

返回值

备注

该函数为weak类型的空函数,开发者需要重写该API以关闭NVIC中断。

hal_rng_generate_random_number

表 485 hal_rng_generate_random_number接口
函数原型

hal_status_t hal_rng_generate_random_number(rng_handle_t *p_rng, uint16_t *p_seed, uint32_t *p_random32bit)

功能说明

以轮询方式生产随机数。

输入参数

p_rng:指向rng_handle_t结构体变量的指针,该结构体变量包含指定的RNG模块的配置信息。

p_seed:指向用户配置的随机数种子的指针。当rng_init_t结构体seed_mode成员被配置为RNG_SEED_USER时,该参数才能生效。

p_random32bit:指向RNG模块生成的随机数的指针。

返回值

HAL状态。

备注

hal_rng_generate_random_number_it

表 486 hal_rng_generate_random_number_it接口
函数原型

hal_status_t hal_rng_generate_random_number_it(rng_handle_t *p_rng, uint16_t *p_seed, uint32_t *p_random32bit)

功能说明

以中断方式生产随机数。

输入参数

p_rng:指向rng_handle_t结构体变量的指针,该结构体变量包含指定的RNG模块的配置信息。

p_seed:指向用户配置的随机数种子的指针。当rng_init_t结构体seed_mode成员被配置为RNG_SEED_USER时,该参数才能生效。

p_random32bit:指向RNG模块生成的随机数的指针。

返回值

HAL状态。

备注

hal_rng_read_last_random_number

表 487 hal_rng_read_last_random_number接口
函数原型

uint32_t hal_rng_read_last_random_number(rng_handle_t *p_rng)

功能说明

获取最后生成的随机数值。

输入参数

p_rng:指向rng_handle_t结构体变量的指针,该结构体变量包含指定的RNG模块的配置信息。

返回值

最后生成的随机数,取值范围:0x00000000 ~ 0xFFFFFFFF。

备注

hal_rng_irq_handler

表 488 hal_rng_irq_handler接口
函数原型

void hal_rng_irq_handler(rng_handle_t *p_rng)

功能说明

处理RNG中断请求。

输入参数

p_rng:指向rng_handle_t结构体变量的指针,该结构体变量包含指定的RNG模块的配置信息。

返回值

备注

hal_rng_ready_data_callback

表 489 hal_rng_ready_data_callback接口
函数原型

void hal_rng_ready_data_callback(rng_handle_t *p_rng, uint32_t random32bit)

功能说明

RNG生成完成中断回调函数。

输入参数

p_rng:指向rng_handle_t结构体变量的指针,该结构体变量包含指定的RNG模块的配置信息。

random32bit:RNG模块生成的随机数。

返回值

备注

该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。

hal_rng_suspend_reg

表 490 hal_rng_suspend_reg接口
函数原型

hal_status_t hal_rng_suspend_reg(rng_handle_t *p_rng);

功能说明

睡眠之前挂起和RNG配置相关的寄存器

输入参数

p_rng:指向rng_handle_t结构体变量的指针,该结构体变量包含指定的RNG模块的配置信息。

返回值

HAL状态

备注

hal_rng_resume_reg

表 491 hal_rng_resume_reg接口
函数原型

hal_status_t hal_rng_resume_reg(rng_handle_t *p_rng)

功能说明

唤醒时恢复和RNG配置相关的寄存器

输入参数

p_rng:指向rng_handle_t结构体变量的指针,该结构体变量包含指定的RNG模块的配置信息。

返回值

HAL状态

备注

扫描关注

打开微信,使用“扫一扫”即可关注。