[技术问答] 新唐MCU的中断反应慢,是通病吗?

[复制链接]
2501|14
 楼主| 芯路例程 发表于 2025-2-23 16:29 | 显示全部楼层 |阅读模式
本帖最后由 芯路例程 于 2025-2-23 16:35 编辑

用新唐M051做电机控制,开了个外部中断检测信号,结果发现中断响应延迟明显,比STM32慢一截!调了优先级、优化代码,还是感觉“卡卡的”,手册里也没写清楚中断响应时间。
a_ziliu 发表于 2025-2-27 14:06 | 显示全部楼层
M0进中断响应是16个CLOCK, 出中断是16个CLOK.
ARM的官方手册有。
clyu 发表于 2025-2-28 14:26 | 显示全部楼层
IO中断有debounce功能的,你看看你是不是打开了
该功能会filter几个clock才会触发中断
时钟源可以选,如果选了内部慢速时钟,那就很慢了
hhdhy 发表于 2025-4-8 12:55 | 显示全部楼层
新唐M051单片机在外部中断响应上比STM32慢,可能是由于硬件架构、时钟配置、中断处理机制等多方面的原因。
gongqijuns 发表于 2025-4-8 14:16 | 显示全部楼层
M051内核:基于ARM Cortex-M0,主频通常为50MHz左右,性能较低。STM32内核:通常为Cortex-M3/M4,主频更高(如72MHz或更高),性能更强。
清芯芯清 发表于 2025-4-8 16:14 | 显示全部楼层
一般来说,M051的中断控制器可能不支持嵌套中断或优先级分组功能,导致中断响应延迟。STM32的中断控制器支持嵌套中断和优先级分组,响应更快。
ewyu 发表于 2025-4-8 16:21 | 显示全部楼层
系统时钟频率M051默认时钟可能未配置为最高频率(如50MHz),导致中断响应慢。解决方法:检查系统时钟配置,确保使用外部晶振并设置为最高频率
canfeil 发表于 2025-4-8 17:23 | 显示全部楼层
外部中断时钟分频,如果外部中断的时钟分频过大,可能导致检测信号延迟。
星星点点didi 发表于 2025-4-8 18:30 | 显示全部楼层
优先级分组不合理,比如说如果多个中断优先级相同,可能导致中断响应延迟。建议啊合理配置中断优先级,确保电机控制相关中断为最高优先级。
hight1light 发表于 2025-4-8 21:26 | 显示全部楼层
如果中断服务程序执行时间过长,可能导致中断响应延迟。优化ISR代码,尽量减少复杂操作(如浮点运算、函数调用等),只处理关键任务。
gra22ce 发表于 2025-4-9 09:16 | 显示全部楼层
M051不支持中断嵌套,如果低优先级中断正在执行,高优先级中断需要等待。
twinkhahale 发表于 2025-4-9 11:27 | 显示全部楼层
其实如果外部中断信号抖动较大,可能导致频繁触发中断。在硬件或软件中加入滤波处理,减少误触发。
瞌睡虫本虫 发表于 2025-4-9 13:51 | 显示全部楼层
但这也取决于具体的应用场景和配置。你可以尝试调整中断触发模式,比如从电平触发改为边沿触发,可能会有所改善。
yuliangren 发表于 2025-4-9 19:27 | 显示全部楼层
一般来说,如果电机控制需要频繁处理数据,可以使用DMA或硬件外设(如PWM、定时器)来分担CPU任务。
少女诗篇 发表于 2025-8-28 12:12 | 显示全部楼层
新唐 MCU 中断反应慢并非通病。其常因中断优先级设置不当、中断服务程序复杂或总线竞争等所致。合理配置优先级、优化代码及调整硬件资源,通常可保障正常的中断响应性能。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

2026

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部