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

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

点击数:7833 次   录入时间:03-04 11:44:39   整理:http://www.55dianzi.com   嵌入式系统-技术
  (3)对EXTI各引线如何中断进行设置

  这些先直接给出代码:

  void Exti_Config(void)

  { EXTI_InitTypeDef EXTI_InitStructure;

  EXTI_InitStructure.EXTI_Line = EXTI_Line0|EXTI_Line1|EXTI_Line2;

  //哪些线将被配置

  EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;

  //中断模式还是事件模式

  /*typedef enum

  {

  EXTI_Mode_Interrupt = 0x00,

  EXTI_Mode_Event = 0x04

  }EXTIMode_TypeDef;

  */

  EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Falling; //下降沿触发

  /*typedef enum

  {

  EXTI_Trigger_Rising = 0x08,

  EXTI_Trigger_Falling = 0x 0C,

  EXTI_Trigger_Rising_Falling = 0x10

  }EXTITrigger_TypeDef;

  可见,可选的模式有3种:上升沿触发、下降沿触发、上升沿和下降沿均触发

  */

  EXTI_InitStructure.EXTI_LineCmd = ENABLE; //中断线使能

  如果没有这行,那么设置就无法进行了,看一看XTI_Init的代码:

  void EXTI_Init(EXTI_InitTypeDef* EXTI_InitStruct)

  {

  ……

  if (EXTI_InitStruct-》EXTI_LineCmd != DISABLE)

  {……各种设置都在下面的代码中进行,而执行到的条件是上面那行程序;

  }

  */

  EXTI_Init(&EXTI_InitStructure); //初始化中断

  /*结构中该填写的内容都填写了,执行初始化程序*/

  EXTI_GenerateSWInterrupt(EXTI_Line0|EXTI_Line1|EXTI_Line2);

  /*

  3.jpg

  而EXTI_Line0、EXTI_Line1、EXTI_Line2的定义则在stm 32f10x_exti.h中

  #define EXTI_Line0 ((uint32_t)0x00001) /*!《 External interrupt line 0 */

  #define EXTI_Line1 ((uint32_t)0x00002) /*!《 External interrupt line 1 */

  #define EXTI_Line2 ((uint32_t)0x00004) /*!《 External interrupt line 2 */

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


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