第3章STM32系列微控制器存储器与外设(6)

2019-05-17 19:56

20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49

可调整 可调整 可调整 可调整 可调整 可调整 可调整 可调整 可调整 可调整 可调整 可调整 可调整 可调整 可调整 可调整 可调整 可调整 可调整 可调整 可调整 可调整 可调整

USB_LP_CAN_ USB低优先级或者CAN RX0

RX0 中断 CAN_RX1 CAN_RX1中断 CAN_SCE CAN SCE中断 EXTI9_5 EXTI线9:5中断 TIM1_BRK TIM1打断中断 TIM1_UP TIM1更新中断 TIM1_TRG_COM TIM1触发和通信中断

TIM1_CC TIM1捕获和比较中断 TIM2 TIM2全局中断 TIM3 TIM3全局中断 TIM4 TIM4全局中断 I2C1_EV I2C1事件中断 I2C1_ER I2C1错误中断 I2C2_EV I2C2事件中断 I2C2_ER I2C2错误中断 SPI1 SPI1全局中断 SPI2 SPI2全局中断 USART1 USART1全局中断 USART2 USART2全局中断 USART3 USART3全局中断 EXTI15_10 EXTI线15:10中断 RTCAlarm RTC闹钟中断(通过EXTI线) USBWakeUp USB从挂起唤醒中断(通过

EXTI线)

0x0000_0090 0x0000_0094 0x0000_0098 0x0000_009C 0x0000_00A0 0x0000_00A4 0x0000_00A8 0x0000_00AC 0x0000_00B0 0x0000_00B4 0x0000_00B8 0x0000_00BC 0x0000_00C0 0x0000_00C4 0x0000_00C8 0x0000_00CC 0x0000_00D0 0x0000_00D4 0x0000_00D8 0x0000_00DC 0x0000_00E0 0x0000_00E4 0x0000_00E8

3.4.2 外部中断/事件控制器(EXTI)

外部中断/事件控制器有用于产生事件/中断请求的19个边沿检测器组成。每根输入线可以被单独配置以选择类型(脉冲或者挂起)和相关的触发事件(上升沿触发或者下降沿触发或者双边沿触发)。每根线也可以被单独屏蔽,一个挂起寄存器保存了中断请求的状态线。

3.4.2.1 主要特性

EXTI控制器主要特性如下:

? 每根中断/事件线上有独立的触发和屏蔽 ? 每根中断线有专门的状态位

? 可以产生高达19个软件事件/中断请求 ? 可以探测脉宽低于APB2时钟外部信号。关于这个参数的更详细的信息请参照数据手册

的电子特性部分。

108

3.4.2.2 结构图

图3.15中显示了结构图。

图3.15:外部中断/事件控制器结构图

3.4.2.3 唤醒事件管理

Cortex-M3能够处理外部事件或者内部事件以唤醒内核(WFE)。通过配置外部线路,任意的I/O端口,RTC闹钟和USB唤醒等事件可以用于唤醒CPU(从WFE退出)。

为了使用一条外部线路作为一个唤醒事件,请参阅3.5.2.4节:功能描述

3.4.2.4 功能描述

为了产生中断,中断线应该被配置并且使能,这需要把2个触发寄存器编程为需要的边沿检测并且把中断屏蔽寄存器中相关的位写入‘1’使能中断请求来。当被选择的边沿在外部中断线上发生时,将产生一个中断请求。该中断线相关的挂起位也被置位,通过向挂起寄

109

存器写入1能够将该请求复位。

为了产生事件,事件线应该被配置并且使能,这需要把2个触发寄存器编程为需要的边沿检测并且把事件屏蔽寄存器中相关的位写入‘1’使能事件请求。当被选择的边沿在事件线上发生时,将产生一个事件脉冲。该事件线相关的挂起位不会被置位。

中断/事件请求也可以通过软件向中断/事件寄存器写入‘1’来产生。 硬件中断选择

为了将19根线配置为中断源,使用下面的步骤: ? 配置19根中断线的屏蔽位(EXTI_IMR)

? 配置中断线的触发选择位 (EXTI_RTSR 和 EXTI_FTSR)

? 配置那些控制NVIC IRQ通道映射到外部中断控制器(EXTI)的使能和屏蔽位以使得

来自19根中断线上的某个中断能够被正确的应答。 硬件事件选择

为了将19根线配置为事件源,使用下面的步骤: ? 配置19根事件线的屏蔽位(EXTI_EMR)

? 配置事件线的触发选择位 (EXTI_RTSR 和 EXTI_FTSR) 软件中断/事件选择

19根线可以被配置为软件中断/事件线,下面是产生一个软件中断步骤: ? 配置19根中断线的屏蔽位(EXTI_IMR ,EXTI_EMR) ? 将软件中断寄存器的请求位置位(EXTI_SWIER)

3.4.2.5 外部中断/事件线映射

80个GPIOs 以下面的方式连接到16个外部中断/事件线:

110

图3.16:外部中断/事件GPIO映射

另外3根EXTI线按照以下的方式连接: ? EXTI线16 连接到PVD输出 ? EXTI线17 连接到RTC闹钟事件

EXTI线18 连接到USB唤醒事件

3.4.3 EXTI寄存器

中断屏蔽寄存器(EXTI_IMR) 偏移地址:00h

复位值: 0000 0000h

111

位31:19 位18:0

保留,必须保持在复位值0 MRx:线x上的中断屏蔽 0: x线上的中断请求被屏蔽 1: x线上的中断请求未被屏蔽

事件屏蔽寄存器 (EXTI_EMR) 地址偏移:04h

复位值: 0000 0000h

位31:19 位18:0

保留,必须保持在复位值0 MRx:线x上的事件屏蔽 0: x线上的事件请求被屏蔽 1: x线上的事件请求未被屏蔽

上升沿触发选择寄存器 (EXTI_RTSR) 地址偏移: 08h

复位值: 0000 0000h

位31:19 位18:0

保留,必须保持在复位值0

TRx:线x上的上升沿触发事件配置位

0: 输入线上的上升沿触发禁用(为事件和中断) 1: 输入线上的上升沿触发使能 (为事件和中断)

注意:外部唤醒线是边沿触发的,这些线上不允许出现毛刺信号。

112


第3章STM32系列微控制器存储器与外设(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:财务类专业术语大全中英文对照

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: