返回首页
当前位置: 主页 > 日博365官网 >

运用STM32生成遂机数的方法

时间:2018-10-11 02:47 | 来源:未知 | 作者:admin | 点击:次 | 我要投稿
在stm32中365bet娱乐场下载却以使用C的规范库结合限期器时间到来完成.? ? 首要用到的两个函数是srand和rand(). ?srand和rand()匹配运用产生365bet娱乐场下载前言列。rand函数在365bet娱乐场下载前

  在stm32中365bet娱乐场下载却以使用C的规范库结合限期器时间到来完成.? ? 首要用到的两个函数是srand和rand().

  ?srand和rand()匹配运用产生365bet娱乐场下载前言列。rand函数在365bet娱乐场下载前,需寻求体系供的生成365bet娱乐场下载前言列的种儿子,rand根据此雕刻个种儿子的值产生壹系列遂机数。?假设体系供的种儿子没拥有拥有变募化,每回调用rand函数生成的365bet娱乐场下载前言列邑是壹样的。

  srand(unsigned seed)经度过参数seed改触动体系供的种儿子值,从而却以使得每回调用rand函数生成的365bet娱乐场下载前言列不一,从而完成真正意思上的“遂机”。

  ?畅通日却以使用体系时间到来改触动体系的种儿子值,即srand(time(NULL)),却认为rand函数供不一的种儿子值,进而产生不一的遂机数前言列。

  srand()函数:

  ? ? 头文件:#include

  ? ? 原型:void ?srand(unsigned int seed);

  rand()函数:

  ? ? 头文件:#include

  ? ? 在你的文件外面面包罗两个头文件,直接调用以上的函数就行,到于需寻求修改的seed,当前采取的方法首要两种,壹种是采取限期器时间seed,壹种是采取读取某个悬空伸脚丫儿子adc的数值干为seed.

  我运用了壹个微秒限期器做seed.

  代码

  u32 time_us=0;

  //timer4? 初始募化

  void time_init(u16 arr,u16 psc)

  {

   ?TIM_TimeBaseInitTypeDef ?TIM_TimeBaseInitStruct;

   ?NVIC_InitTypeDef NVIC_InitStructure;

   ?RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);

   ?

   ?TIM_TimeBaseInitStruct.TIM_Prescaler=psc;

   ?TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;

   ?TIM_TimeBaseInitStruct.TIM_Period=arr;

   ?TIM_TimeBaseInitStruct.TIM_ClockDivision=0;?

   ?

   ?TIM_TimeBaseInit(TIM4,&TIM_TimeBaseInitStruct);

   ?

   ?NVIC_InitStructure.NVIC_IRQChannel=TIM4_IRQn;

   ?NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2 ;? ? ? ? ? ? ? ?

   ?NVIC_InitStructure.NVIC_IRQChannelSubPriority=2;? ? ? ? ? ? ? ? ? ? ? ? ?

   ?NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;? ? ? ? ? ? ? ? ? ? ? ? ? ?

   ?NVIC_Init(&NVIC_InitStructure); ?

   ?

   ?TIM_ITConfig(TIM4,TIM_IT_Update,ENABLE); ? ?

   ?TIM_Cmd(TIM4, ENABLE);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

  }

  void TIM4_IRQHandler(void)

  {

   ?if(TIM_GetITStatus(TIM4,TIM_IT_Update)!=RESET)

   ?{

   ? ?GPIO_SetBits(GPIOD,GPIO_Pin_6);

   ? ?time_us++;

------分隔线----------------------------
无法在这个位置找到: ajaxfeedback.htm
推荐内容