如何使用RNG驱动
RNG HAL驱动使用方法如下:
- 重写hal_rng_msp_init()接口,在该接口中调用hal_nvic_set_priority()及hal_nvic_enable_irq()使能RNG的NVIC中断。
- 声明一个rng_handle_t句柄结构体,例如:rng_handle_t p_rng,并设置“p_instance”成员为RNG实例。
- 配置p_rng句柄的初始化结构体init成员中的计数初值和复位模式。
- 调用hal_rng_init()初始化RNG外设。
- 调用hal_rng_generate_random_number()以轮询方式生成随机数或调用hal_rng_generate_random_number_it()以中断方式生成随机数。若采用RNG_SEED_USER方式,需提供59bits或128bits的随机数种子。
- 以中断方式生成随机数时,当随机数生成后回调函数hal_rng_ready_data_callback()会被调用,开发者可根据需要重写该API。