STM32
登录
直播中
李斌
8年用户
1456经验值
私信
关注
[问答]
请问一下STM32F429系统异常中断有哪些呢
开启该帖子的消息推送
中断
外部中断
请问一下
STM32
F429系统异常中断有哪些呢?
回帖
(1)
李凯生
2021-11-23 14:15:19
F429 在内核水平上搭载了一个异常响应系统, 支持为数众多的系统异常和外部中断。
其中系统异常有10 个,外部中断有91 个。除了个别异常的优先级被定死外,其它异常的
优先级都是可编程的。有关具体的系统异常和外部中断可在标准库文件stm32f4xx.h 这个头
文件查询到,在IRQn_Type 这个结构体里面包含了F4 系列全部的异常声明。
1、系统异常中断
2、外部中断(全部)
3、优先级
如果有多个中断同时响应,抢占优先级高的就会抢占优先级低的优先得到执行,如果抢占优先级相同,就比较子优先级。如果抢占优先级和子优先级都相同的话,就比较他们的硬件中断编号,编号越小,优先级越高。
5、如何开关中断示例
串口
USART_ITConfig(DEBUG_USART1, USART_IT_RXNE, ENABLE); /* 使能串口接收中断 */USART_ITConfig(DEBUG_USART1, USART_IT_RXNE, DISABLE); /* 关闭串口接收中断 */
定时器
TIM_ITConfig(TIM4, TIM_IT_Update, ENABLE); /* 使能定时器更新中断 */TIM_ITConfig(TIM4, TIM_IT_Update, DISABLE); /* 关闭定时器更新中断 */
DMA
DMA_ITConfig(DEBUG_SPI2_RX_DMA_STREAM,DMA_IT_TC,ENABLE);/* 开启传输完成中断*/DMA_ITConfig(DEBUG_SPI2_RX_DMA_STREAM,DMA_IT_TC, DISABLE);/*关闭传输完成中断*/
EXTI中断线(得重新配置)
SYSCFG_EXTILineConfig(KEY3_INT_EXTI_PORTSOURCE, KEY3_INT_EXTI_PINSOURCE); /* 连接 EXTI 中断源 到key3引脚 */EXTI_InitStructure.EXTI_Line = KEY3_INT_EXTI_LINE; /* 选择 EXTI 中断源 */EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; /* 中断模式 */EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;/* 上升沿触发 */EXTI_InitStructure.EXTI_LineCmd = ENABLE; /* 使能中断/事件线 */EXTI_Init(&EXTI_InitStructure);SYSCFG_EXTILineConfig(KEY3_INT_EXTI_PORTSOURCE, KEY3_INT_EXTI_PINSOURCE); /* 连接 EXTI 中断源 到key3引脚 */EXTI_InitStructure.EXTI_Line = KEY3_INT_EXTI_LINE; /* 选择 EXTI 中断源 */EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; /* 中断模式 */EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;/* 上升沿触发 */EXTI_InitStructure.EXTI_LineCmd = ENABLE; /* 关闭中断/事件线 */EXTI_Init(&EXTI_InitStructure);
6、抢断优先级、响应优先级说明
l 抢断优先级高的,能打断抢断优先级低的;
l 当抢断优先级相同时,执行顺序由响应优先级决定;
l 当抢断优先级、响应优先级都相同时,则按中断向量表的顺序执行。
如果抢断优先级一样,则不会打断,而是等待完成后执行。
比如有ABCD四个中断:
一、当A正在执行,又来了中断B,由于B的抢断优先级更高,所以会打断A的运行;
二、当A正在执行,又来了中断C,由于C抢断优先级《=A,所以会等待A完成后,再执行C;
三、当A正在执行,同时来了C和D,由于ABC优先级都相同,所以不会打断,而C的响应优先级比D高,所以在A完成后,会先执行C,再执行D。
7、定时器说明
STM32F42xxx 系列控制器有2 个高级控制定时器、10 个通用定时器和2 个基本定时器,还有2 个看门狗定时器。
控制器上所有定时器都是彼此独立的,不共享任何资源。各个定时器特性参考下表:
注意:其中最大定时器时钟可通过RCC_DCKCFGR 寄存器配置为90MHz 或者180MHz。
7.1基本定时器
主要两个功能,第一就是基本定时功能,生成时基,第二就是专门用于驱动数模转换器(DAC)。
基本定时器的内部时钟(CK_INT)频率默认设置为90MHz。
7.2高级/通用定时器
高级控制定时器(TIM1 和TIM8)和通用定时器在在基本定时器的基础上引入了外部引脚,可以输入捕获和输出比较功能。高级控制定时器比通用定时器增加了可编程死区互补输出、重复计数器、带刹车(断路)功能,这些功能都是针对工业电机控制方面。
一般情况下,我们都是使用内部时钟,内部时钟CK_INT 即来自于芯片内部,等于180M。
引脚分布见下表:
7.3定时器拓展补充-主要特性
F429 在内核水平上搭载了一个异常响应系统, 支持为数众多的系统异常和外部中断。
其中系统异常有10 个,外部中断有91 个。除了个别异常的优先级被定死外,其它异常的
优先级都是可编程的。有关具体的系统异常和外部中断可在标准库文件stm32f4xx.h 这个头
文件查询到,在IRQn_Type 这个结构体里面包含了F4 系列全部的异常声明。
1、系统异常中断
2、外部中断(全部)
3、优先级
如果有多个中断同时响应,抢占优先级高的就会抢占优先级低的优先得到执行,如果抢占优先级相同,就比较子优先级。如果抢占优先级和子优先级都相同的话,就比较他们的硬件中断编号,编号越小,优先级越高。
5、如何开关中断示例
串口
USART_ITConfig(DEBUG_USART1, USART_IT_RXNE, ENABLE); /* 使能串口接收中断 */USART_ITConfig(DEBUG_USART1, USART_IT_RXNE, DISABLE); /* 关闭串口接收中断 */
定时器
TIM_ITConfig(TIM4, TIM_IT_Update, ENABLE); /* 使能定时器更新中断 */TIM_ITConfig(TIM4, TIM_IT_Update, DISABLE); /* 关闭定时器更新中断 */
DMA
DMA_ITConfig(DEBUG_SPI2_RX_DMA_STREAM,DMA_IT_TC,ENABLE);/* 开启传输完成中断*/DMA_ITConfig(DEBUG_SPI2_RX_DMA_STREAM,DMA_IT_TC, DISABLE);/*关闭传输完成中断*/
EXTI中断线(得重新配置)
SYSCFG_EXTILineConfig(KEY3_INT_EXTI_PORTSOURCE, KEY3_INT_EXTI_PINSOURCE); /* 连接 EXTI 中断源 到key3引脚 */EXTI_InitStructure.EXTI_Line = KEY3_INT_EXTI_LINE; /* 选择 EXTI 中断源 */EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; /* 中断模式 */EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;/* 上升沿触发 */EXTI_InitStructure.EXTI_LineCmd = ENABLE; /* 使能中断/事件线 */EXTI_Init(&EXTI_InitStructure);SYSCFG_EXTILineConfig(KEY3_INT_EXTI_PORTSOURCE, KEY3_INT_EXTI_PINSOURCE); /* 连接 EXTI 中断源 到key3引脚 */EXTI_InitStructure.EXTI_Line = KEY3_INT_EXTI_LINE; /* 选择 EXTI 中断源 */EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; /* 中断模式 */EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;/* 上升沿触发 */EXTI_InitStructure.EXTI_LineCmd = ENABLE; /* 关闭中断/事件线 */EXTI_Init(&EXTI_InitStructure);
6、抢断优先级、响应优先级说明
l 抢断优先级高的,能打断抢断优先级低的;
l 当抢断优先级相同时,执行顺序由响应优先级决定;
l 当抢断优先级、响应优先级都相同时,则按中断向量表的顺序执行。
如果抢断优先级一样,则不会打断,而是等待完成后执行。
比如有ABCD四个中断:
一、当A正在执行,又来了中断B,由于B的抢断优先级更高,所以会打断A的运行;
二、当A正在执行,又来了中断C,由于C抢断优先级《=A,所以会等待A完成后,再执行C;
三、当A正在执行,同时来了C和D,由于ABC优先级都相同,所以不会打断,而C的响应优先级比D高,所以在A完成后,会先执行C,再执行D。
7、定时器说明
STM32F42xxx 系列控制器有2 个高级控制定时器、10 个通用定时器和2 个基本定时器,还有2 个看门狗定时器。
控制器上所有定时器都是彼此独立的,不共享任何资源。各个定时器特性参考下表:
注意:其中最大定时器时钟可通过RCC_DCKCFGR 寄存器配置为90MHz 或者180MHz。
7.1基本定时器
主要两个功能,第一就是基本定时功能,生成时基,第二就是专门用于驱动数模转换器(DAC)。
基本定时器的内部时钟(CK_INT)频率默认设置为90MHz。
7.2高级/通用定时器
高级控制定时器(TIM1 和TIM8)和通用定时器在在基本定时器的基础上引入了外部引脚,可以输入捕获和输出比较功能。高级控制定时器比通用定时器增加了可编程死区互补输出、重复计数器、带刹车(断路)功能,这些功能都是针对工业电机控制方面。
一般情况下,我们都是使用内部时钟,内部时钟CK_INT 即来自于芯片内部,等于180M。
引脚分布见下表:
7.3定时器拓展补充-主要特性
举报
更多回帖
rotate(-90deg);
回复
相关问答
中断
外部中断
STM32F429
结合Rt-thread的编程能否指点
一下
是怎么写的
2019-01-11
1602
为什么
STM32F429
与CAN1不能给CAN2发数据
呢
?
2021-07-22
2219
STM32
中Fault的
异常中断
有
哪几种情况
呢
2021-10-28
2103
STM32F429
是怎样移植TouchGFX到RT-Thread
系统
上的
2021-10-18
1887
怎样去设计
一
种基于
STM32F429
的语音识别交互
系统
2021-10-20
1532
stm32f429
怎么移植linux
系统
?
2023-09-21
548
STM32F429
的定时器
有
何功能
2021-10-25
910
怎样用
STM32F429
LTDC去驱动RGB屏幕
呢
2021-10-15
2687
STM32F429
/
STM32F
439
有
何功能
2021-10-15
2418
如何去使用
STM32F429
EXTI外部
中断
/事件控制器
呢
2021-11-17
1291
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分