来源 灵动MM32
一、MM32嵌套向量中断控制器本文针对MM32F0/L0/W0系列MCU产品。
特征中断都可屏蔽(除了 NMI
)16
个可编程的优先等级(使用了4
位中断优先级)低延迟的异常和中断处理电源管理控制系统控制寄存器的实现 嵌套向量中断控制器(NVIC)和处理器核的接口紧密相连,可以实现低延迟的中断处理和高效地处理晚到的中断。嵌套向量中断控制器管理着包括核异常等中断。关于更多的异常和NVIC 编程的说明请参考 CPU 技术手册。
系统嘀嗒(SysTick)校准值寄存器系统嘀嗒校准值固定为 9000,当系统嘀嗒时钟设定为 9MHz(HCLK/8 的最大值),产生1mS 时间基准。
中断和异常向量下表列出了 MM32L0 系列产品的向量表。
MM32L0xx 系列产品的向量表 二、外部中断/事件控制器(EXTI)外部中断和时间控制器(EXTI)管理外部和内部异步事件/中断,并生成相应的事件请求到 CPU/中断控制器和到电源管理的唤醒请求。每个输入线可以独立地配置输入类型(脉冲或挂起)和对应的触发事件(上升沿或下降沿或者双边沿都触发)。每个输入线都可以独立地被屏蔽。挂起寄存器保持着状态线的中断请求。
功能说明要产生中断,必须先配置好并使能中断线。根据需要的边沿检测设置 2 个触发寄存器,同时在中断屏蔽寄存器的相应位写1允许中断请求。当外部中断线上发生了期待的边沿时,将产生一个中断请求,对应的挂起位也随之被置1。在挂起寄存器的对应位写1,将清除该中断请求。 如果需要产生事件,必须先配置好并使能事件线。根据需要的边沿检测通过设置 2 个触发寄存器,同时在事件屏蔽寄存器的相应位写1允许事件请求。当事件线上发生了需要的边沿时,将产生一个事件请求脉冲,对应的挂起位不被置1。 通过在软件中断/事件寄存器写1,也可以通过软件产生中断/事件请求。
外部中断/事件线路映像通用 I/O 端口以下图的方式连接到 16 个外部中断/事件线上:
外部中断通用 I/O 映像 另外其他的外部中断/事件控制器的连接如下:EXTI
线 16
连接到 PVD
输出EXTI
线 18
连接到 USB
唤事件EXTI
线 19
连接到比较器 1
输出EXTI
线 20
连接到比较器 2
输出 三、按键中断检测实验分析实验内容简介以MM32L073PF为例,将PA0连接到按键上,如果按键按下将会产生按键中断,在中断服务子程序中进行LED的翻转。
实验代码分析首先我们从main函数开始分析,代码如下:
使用LED_Init()配置好LED所使用的I/O,并且关掉LED。然后进行外部中断的配置。
1. 选定要配置为 EXTI 的 I/O 口线和 I/O 口的工作模式。2. 配置 EXTI 中断线 I/O。3. EXTI 中断线工作模式配置。4. 配置 EXTIx 线的中断优先级。 接下来看中断服务子函数:
在中断服务子函数里进行LED的翻转。
实验现象下载好程序后,按下按键时LED点亮,再按下按键时LED熄灭,如此循环。
来源 灵动MM32
一、MM32嵌套向量中断控制器本文针对MM32F0/L0/W0系列MCU产品。
特征中断都可屏蔽(除了 NMI
)16
个可编程的优先等级(使用了4
位中断优先级)低延迟的异常和中断处理电源管理控制系统控制寄存器的实现 嵌套向量中断控制器(NVIC)和处理器核的接口紧密相连,可以实现低延迟的中断处理和高效地处理晚到的中断。嵌套向量中断控制器管理着包括核异常等中断。关于更多的异常和NVIC 编程的说明请参考 CPU 技术手册。
系统嘀嗒(SysTick)校准值寄存器系统嘀嗒校准值固定为 9000,当系统嘀嗒时钟设定为 9MHz(HCLK/8 的最大值),产生1mS 时间基准。
中断和异常向量下表列出了 MM32L0 系列产品的向量表。
MM32L0xx 系列产品的向量表 二、外部中断/事件控制器(EXTI)外部中断和时间控制器(EXTI)管理外部和内部异步事件/中断,并生成相应的事件请求到 CPU/中断控制器和到电源管理的唤醒请求。每个输入线可以独立地配置输入类型(脉冲或挂起)和对应的触发事件(上升沿或下降沿或者双边沿都触发)。每个输入线都可以独立地被屏蔽。挂起寄存器保持着状态线的中断请求。
功能说明要产生中断,必须先配置好并使能中断线。根据需要的边沿检测设置 2 个触发寄存器,同时在中断屏蔽寄存器的相应位写1允许中断请求。当外部中断线上发生了期待的边沿时,将产生一个中断请求,对应的挂起位也随之被置1。在挂起寄存器的对应位写1,将清除该中断请求。 如果需要产生事件,必须先配置好并使能事件线。根据需要的边沿检测通过设置 2 个触发寄存器,同时在事件屏蔽寄存器的相应位写1允许事件请求。当事件线上发生了需要的边沿时,将产生一个事件请求脉冲,对应的挂起位不被置1。 通过在软件中断/事件寄存器写1,也可以通过软件产生中断/事件请求。
外部中断/事件线路映像通用 I/O 端口以下图的方式连接到 16 个外部中断/事件线上:
外部中断通用 I/O 映像 另外其他的外部中断/事件控制器的连接如下:EXTI
线 16
连接到 PVD
输出EXTI
线 18
连接到 USB
唤事件EXTI
线 19
连接到比较器 1
输出EXTI
线 20
连接到比较器 2
输出 三、按键中断检测实验分析实验内容简介以MM32L073PF为例,将PA0连接到按键上,如果按键按下将会产生按键中断,在中断服务子程序中进行LED的翻转。
实验代码分析首先我们从main函数开始分析,代码如下:
使用LED_Init()配置好LED所使用的I/O,并且关掉LED。然后进行外部中断的配置。
1. 选定要配置为 EXTI 的 I/O 口线和 I/O 口的工作模式。2. 配置 EXTI 中断线 I/O。3. EXTI 中断线工作模式配置。4. 配置 EXTIx 线的中断优先级。 接下来看中断服务子函数:
在中断服务子函数里进行LED的翻转。
实验现象下载好程序后,按下按键时LED点亮,再按下按键时LED熄灭,如此循环。