如何为石家庄的公众号搭建一个专业对接的网站?
摘要:对接公众号的网站怎么做,石家庄搭建公司,wordpress照片小工具,wordpress设置站点地址前文回顾---STM32--GPIO 相关回顾--有关中断系统简介 目录 STM32中断 NVIC EXTI外部中断 AFIO EXTI框图
对接公众号的网站怎么做,石家庄搭建公司,wordpress照片小工具,wordpress设置站点地址前文回顾---STM32--GPIO
相关回顾--有关中断系统简介 目录 STM32中断
NVIC EXTI外部中断
AFIO
EXTI框图
旋转编码器简介
对射式红外传感器工程
代码#xff1a;
旋转编码器工程
代码#xff1a; STM32中断
先说一下基本原理#xff1a; 1.中断请求发生#xff1a…前文回顾---STM32--GPIO
相关回顾--有关中断系统简介 目录 STM32中断
NVIC EXTI外部中断
AFIO
EXTI框图
旋转编码器简介
对射式红外传感器工程
代码
旋转编码器工程
代码 STM32中断
先说一下基本原理 1.中断请求发生外部事件如按键触发定时器溢出等引起中断请求信号 2.中断向量表中断发生后CPU会根据中断向量表找到对应的中断服务程序入口。 3.中断服务程序执行CPU会跳转到中断服务程序入口执行相应的中断处理代码 4.中断优先级不同的中断源可能具有不同的优先级可以通过设置优先级来控制中断的相对重要性。 5.中断嵌套STM32支持中断的嵌套即在一个中断服务程序中可以发生另一个中断程序这种情况下需要使用优先级抢占和屏蔽来管理中断的执行程序 6.中断清除中断服务程序执行完成后需要立即清除中断标志位以便允许其他同优先级或更高优先级的中断发生。 在STM32中有68个可屏蔽中断通道每个中断通道包含16个可编程的优先等级
具体使用哪条通道需要查看手册 上面灰色部分的是内核的中断白色部分就是STM32外设的中断
由于STM32中断通道众多所以就用了一个叫作嵌套向量中断器NVIC来进行管理 NVIC
NVICNested Vectored Interrupt Controller是用于管理中断的硬件模块它嵌套在ARM Cortex-M3上是一个内核外设。NVIC负责中断向量表、中断优先级、中断使能以及中断处理的功能。 上图是NVIC的基本结构
在STM32中NVIC的功能主要有以下几个方面
1.中断向量表NVIC管理中断向量表它是一个存储中断服务程序入口的表格。当一个中断请求发生时CPU会根据中断号从中断向量表中获取对应的中断的服务程序的入口地址并跳转执行该程序。
2.中断优先级NVIC允许设置不同中断源的优先级以确定中断的相对重要性。通过配置优先级寄存器可以设置每个中断源的优先级当多个中断同时发生时具有最高优先级的中断将被立即处理。 3. 中断使能NVIC控制中断的使能与禁止。通过设置使能寄存器可以启用或禁用特定中断源的中断功能。禁用某个中断源后即使该中断源发生CPU也不会响应。
总的来说有了NVICCPU就可以免去选择哪个中断通道这个步骤让NVIC选择好后再进入到CPU。
接下来看NVIC优先级的分组。
NVIC的中断优先级由优先级寄存器的4位0~15决定这4位可以进行切分分为高n位的抢占优先级和低4-n位的响应优先级 抢占优先级高的可以中断嵌套响应优先级高的可以优先排队抢占优先级和响应优先级均相同的按中断号排队。 进行分组的目的是为了更灵活的管理和控制中断优先级。在程序中会先进行分组再让不同等级的去执行优先级。比如有多个中断源进入不同通道那么抢占优先级就是来分不同身份的身份相同归为一组而数值越小代表身份越高而响应优先级表示同等身份下的不同等级 EXTI外部中断
EXTIEXternal Interrupt外部中断是STM32中用于处理外部事件触发的中断机制。它允许外部设备如按键、传感器等通过引脚信号触发中断从而实现对这些事件的快速响应。
EXTI可以与GPIO引脚进行连接作为外部中断的触发源。支持所有的GPIO口但不允许相同的Pin同时触发中断
EXTI有多种触发方式支持上升沿触发、下降沿触发、边沿变化触发等可以根据实际需求进行选择适合的触发方式。
EXTI可以与NVIC配合使用实现中断的屏蔽和优先级抢占。 这是EXTI的基本结构
最左边是GPIO口通过AFIO中断引脚选择器来进行选择三个GPIO口的16个通道中的一个与EXTI进行连接。例如GPIOAGPIOB、GPIOC各个的PIN0只能有一个PIN0于EXTI0进行连接。之后通道就连接到EXTI边沿检测与控制电路上最后连到NVIC。
在边沿检测还有一些绿色的外部中断通道。在STM32的外部中断中可以从低功耗模式的停止模式来唤醒STM32。对于PVD电源电压检测当电源从低电压恢复时就需要PVD借助外部中断退出停止模式对于RTC来说有时为了省电定了一个闹钟之后STM32就会进入停止模式闹钟响起时再唤醒就需要借助外部中断。对于这些通道我们在这做一下简单了解就行。
