qq互联 网站开发网站代发外链
2026/1/25 12:02:14 网站建设 项目流程
qq互联 网站开发,网站代发外链,洛可可设计公司总部,电商网站开发公司哪家好可配置的嵌套向量中断控制器与核心紧密耦合。它处理与非屏蔽中断(NMI)和屏蔽中断相关的物理线事件#xff0c;以及 Cortex-M0异常。它提供了灵活的优先级管理。 处理器核心与NVIC的紧密耦合显著减少了中断事件与相应中断服务例程(ISR)开始之间的延迟。ISR向量列在向量表中以及 Cortex-M0异常。它提供了灵活的优先级管理。处理器核心与NVIC的紧密耦合显著减少了中断事件与相应中断服务例程(ISR)开始之间的延迟。ISR向量列在向量表中存储在NVIC的基址中。要执行的ISR的向量地址由硬件从向量表基址和用作偏移的ISR顺序号构建。如果较高优先级的中断事件发生时较低优先级的中断事件正在等待处理那么较晚到达的较高优先级中断事件将首先处理。另一个优化称为尾链。当从较高优先级的ISR返回时然后开始处理未决的较低优先级ISR则跳过不必要的处理器上下文解栈和上栈。这减少了延迟并有助于提高能效。NVIC的特点:低延迟中断处理4个优先级别处理不可屏蔽中断(NMI)处理32个可屏蔽中断线处理10个 Cortex-M0异常后到达的高优先级中断先处理尾链硬件中断向量检索二中断知识分享扩展的中断/事件控制器增加了处理物理线事件的灵活性并允许在处理器从停止模式唤醒时识别唤醒事件。EXTI控制器有多个通道其中一些具有上升沿、下降沿或上升沿和下降沿检测功能。任何GPIO和一些外围信号都可以连接到这些通道。这些通道可以独立屏蔽。EXTI控制器可以捕获比内部时钟周期短得多的脉冲。EXTI控制器的寄存器即使在停止模式下也会锁定每个事件这使得软件能够识别处理器从停止模式唤醒的源或者识别导致中断的GPIO和边缘事件。三原理图如下所示可以看出这里使用的是PC13引脚四STM32cube MX 软件配置如下如上图所示注意配置中断的触发模式上升沿、下降沿或者是边沿触发然后使能中断并且配置中断13的优先级五软件代码编写软件编写流程如下1初始化IO口为输入。2开启IO口复用时钟。3设置IO口与中断线的映射关系。4初始化线上中断设置触发条件等。5配置中断分组NVIC并使能中断。6编写中断服务函数。 清除中断标志位HAL库自动处理无需再添加用户代码GPIO13配置位下降沿触发初始化配置成上拉模式复制GPIO_InitStruct.Pin GPIO_PIN_13;GPIO_InitStruct.Mode GPIO_MODE_IT_FALLING;GPIO_InitStruct.Pull GPIO_PULLUP;HAL_GPIO_Init(GPIOC, GPIO_InitStruct);使能中断13的优先级复制HAL_NVIC_SetPriority(EXTI4_15_IRQn, 3, 0);HAL_NVIC_EnableIRQ(EXTI4_15_IRQn);编写用户的中断处理函数使用下降沿回调函数如下所示复制void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin){if (GPIO_Pin GPIO_PIN_13){HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_9);}}使用上升沿触发函数如下所示复制void HAL_GPIO_EXTI_Rising_Callback(uint16_t GPIO_Pin);然后再cube MX生成的代码中会自动处理中断函数如下所示复制void EXTI4_15_IRQHandler(void){/* USER CODE BEGIN EXTI4_15_IRQn 0 *//* USER CODE END EXTI4_15_IRQn 0 */HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);/* USER CODE BEGIN EXTI4_15_IRQn 1 *//* USER CODE END EXTI4_15_IRQn 1 */}六实物测试如下图所示试验现象按下用户按键PC13可以看到板载的LED灯状态发生改变。工程代码如下02_LED_exit.zip(5.71 MB, 下载次数: 1)。---------------------作者聪聪哥哥链接https://bbs.21ic.com/icview-3453922-1-1.html来源21ic.com此文章已获得原创/原创奖标签著作权归21ic所有任何人未经允许禁止转载。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询