您当前的位置:五五电子网电子知识单片机-工控设备嵌入式系统-技术STM32学习手记:数据的保存与毁灭 正文
STM32学习手记:数据的保存与毁灭

STM32学习手记:数据的保存与毁灭

点击数:7833 次   录入时间:03-04 11:44:39   整理:http://www.55dianzi.com   嵌入式系统-技术
  */

  所以综合起来,这么写就是允许这三条线中断

  }

  (4)还要对NVIC寄存器进行配置

  void NVIC_Configuration(void)

  { NVIC_InitTypeDef NVIC_InitStructure;

  /* Configure the NVIC Preemption Priority Bits */

  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);

  #ifdef VECT_TAB_RAM

  /* Set the Vector Table base LOCation at 0x20000000 */

  NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);

  #else /* VECT_TAB_FLASH */

  /* Set the Vector Table base location at 0x08000000 */

  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);

  #endif

  /*上面的程序代码来自于ST的例子程序,下面是我自己写的,我不知是不是会让人笑掉大牙,但以我自己的理解能力,我暂时还就只能写出这样的代码来,这其中尤其对优先级和次优先级的设定,非常的没有把握

  */

  /*允许EXTI0中断 */

  NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn; //中断通道

  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 7;//优先级设定

  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //次优先级

  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //通道中断使能

  NVIC_Init(&NVIC_InitStructure); //初始化中断

  ////允许EXTI1中断

  NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQn; //中断通道

  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 7;//优先级设定

  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; //次优先级

  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //通道中断使能

  NVIC_Init(&NVIC_InitStructure); //初始化中断

  ////允许EXTI2中断

  NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQn; //中断通道

  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 7;//优先级设定

  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2; //次优先级

  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //通道中断使能

  NVIC_Init(&NVIC_InitStructure); //初始化中断

  }

  此外,这里要提醒一点:

  NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQn; //中断通道

  这其中的:EXTI2_IRQn是新版本的库中所使用的符号,在2.0版本(也许还有其他版本)中,是这么样来写的:

  NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQChannel;

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  下一页


本文关键字:手记  嵌入式系统-技术单片机-工控设备 - 嵌入式系统-技术