博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
STM32笔记记录2
阅读量:6463 次
发布时间:2019-06-23

本文共 1297 字,大约阅读时间需要 4 分钟。

    外部中断控制:

   STM32的每个IO 都可以作为外部中断的中断输入口,这点也是STM32的强大之处。STM32F103的中断控制器支持19个外部中断/事件请求。每个中断设有状态位,每个中断/事件都有独立的触发和屏蔽设置。STM32F103 的19个外部中断为:

    线0~15:对应外部IO 口的输入中断。
    线16:连接到PVD输出。
    线17:连接到RTC闹钟事件。
    线18:连接到USB唤醒事件。

   STM32供IO 口使用的中断线只有16个,但是STM32的IO 口却远远不止16个,STM32就这样设计,GPIO的管教GPIOx.0~GPIOx.15(x=A,B,C,D,E,F,G)分别对应中断线15~0。这样每个中断线对应了最多7个IO 口,以线0为例:它对应了GPIOA.0、GPIOB.0、GPIOC.0、GPIOD.0、GPIOE.0、GPIOF.0、GPIOG.0。而中断线每次只能连接到1个IO 口上,这样就需要通过配置来决定对应的中断线配置到哪个GPIO上了。

   AFIO(alternate-function I/O),指GPIO端口的复用功能,GPIO除了用作普通的输入输出(主功能),还可以作为片上外设的复用输入输出,如串口、ADC、这些就是复用功能。大多数GPIO都有一个默认复用功能,有的GPIO还有重映射功能,重映射功能是指把原来属于A引脚的默认复用功能,转移到了B引脚进行使用,前提是B引脚具有这个重映射功能。当把GPIO用作EXTI外部中断或使用重映射功能的时候,必须开启AFIO时钟,而使用默认复用功能的时候,就不必开启AFIO时钟了。

    主要步骤:1、使能EXTIx线的时钟和第二功能AFIO时钟

                  2、配置EXTIx先得中断优先级

        3、配置EXTI中断线IO

                   4、选定要配置为EXTI的IO口线和IO口的工作模式

        5、EXTI中短线工作模式配置

      另外:NVIC_PriorityGroupConfig()库函数,把NVIC中的中断优先级分组设置;然后再向NVIC初始化结构体写入参数。NVIC_IRQChannel=EXTI9_5_IRQn,表示要配置的为EXTI第5-9线的中断向量。这些写入的参数在stm32f10x.h文件的IRQn类型定义中查到。

         中短线0-4每个中断线对应一个中断函数,中断线5-9共用中断函数EXTI9_5_IRQHandler,中断线10-15共用中断函数EXTI15-10-IRQHandler。在编写中断服务函数的时候会经常使用到两个函数,第一个函数是判断某个中断线上的中断是否发生(标志位是否置位):

      ITStatus EXTI_GetITStatus(uint32_t EXTI_Line);
这个函数一般使用在中断服务函数的开头判断中断是否发生。另一个函数是清除某个中断线上的中断标志位:
      void EXTI_ClearITPendingBit(uint32_t EXTI_Line);
这个函数一般应用在中断服务函数结束之前,清除中断标志位

转载地址:http://egqzo.baihongyu.com/

你可能感兴趣的文章
jQuery的Ajax的跨域请求
查看>>
EF 接收OUTPUT参数的方法 How to Retrieve Stored Procedure Output Parameters in Entity Framework...
查看>>
腾讯或联姻优酷,微信嫁女模式引发互联网通婚潮流
查看>>
cc攻击技术
查看>>
7-3 倒水问题
查看>>
OAuth 2 Developers Guide--reference
查看>>
Cognos利用DMR与文本对象设计中国式报表
查看>>
WPF资源字典使用
查看>>
atitit.二维码生成总结java zxing
查看>>
centos 安装node js环境
查看>>
Windows 8.1 应用再出发 - 几种常用控件
查看>>
老王心中的委屈,大伙们有吗
查看>>
Android开发学习---如何写数据到外部存储设备(sd卡),Environment.getExternalStorageDirectory,怎么获取sd卡的大小?...
查看>>
nyoj------79拦截导弹
查看>>
数据类的设计
查看>>
数论公式
查看>>
Sublime Text 3 绿色汉化版 x64
查看>>
linux 文件系统的管理 (硬盘) 工作原理
查看>>
手把手教你Android来去电通话自动录音的方法
查看>>
C# 16进制与字符串、字节数组之间的转换(转)
查看>>