设置外部中断后定时器中断不进了,什么原因?

[复制链接]
6239|56
tifmill 发表于 2024-7-12 12:32 | 显示全部楼层
在GD32中,中断优先级分为抢占优先级和响应优先级。
loutin 发表于 2024-7-12 16:10 | 显示全部楼层
如果外部中断的中断优先级高于定时器中断,并且没有正确配置中断优先级,那么外部中断发生时会优先响应,导致定时器中断被屏蔽。
hilahope 发表于 2024-7-12 19:41 | 显示全部楼层
如果外部中断和定时器中断使用了相同的NVIC通道,可能会导致中断冲突。确保它们被配置为不同的中断向量。
robertesth 发表于 2024-7-12 22:50 | 显示全部楼层
检查是否不小心屏蔽了定时器中断。在某些情况下,中断可能被全局或局部地禁用。
lzbf 发表于 2024-7-13 08:58 | 显示全部楼层
在响应外部中断后能够及时恢复定时器中断的中断优先级。
burgessmaggie 发表于 2024-7-13 12:09 | 显示全部楼层
编译器或链接器可能会因为某些原因跳过或忽略中断服务程序。
kmzuaz 发表于 2024-7-13 15:21 | 显示全部楼层
某些情况下,如果定时器中断标志位没有被正确清除,可能会导致定时器中断无法再次触发。
modesty3jonah 发表于 2024-7-13 18:37 | 显示全部楼层
中断服务程序中可能存在逻辑错误,例如死循环、资源泄漏等,导致中断服务程序无法正常退出。
sheflynn 发表于 2024-7-13 21:47 | 显示全部楼层
如果外部中断的优先级高于定时器中断,那么在处理外部中断时,可能会阻止定时器中断的执行。
beacherblack 发表于 2024-7-14 10:24 | 显示全部楼层
两个中断是否使用了不同的中断向量,避免中断冲突。
adolphcocker 发表于 2024-7-14 13:31 | 显示全部楼层
定时器中断可能因为前一次中断尚未被清除而挂起。在中断服务程序中确保中断标志被正确清除。
mollylawrence 发表于 2024-7-14 16:32 | 显示全部楼层
如果外部中断的优先级高于定时器中断,那么在处理外部中断时,定时器中断可能会被阻塞。检查并调整中断优先级设置。
bestwell 发表于 2024-7-15 10:34 | 显示全部楼层
定时器的正常运行需要时钟源的支持。如果定时器的时钟源没有正确配置或时钟被关闭,那么定时器将无法工作,从而导致定时器中断无法进入。
olivem55arlowe 发表于 2024-7-15 13:42 | 显示全部楼层
如果定时器中断的服务程序(ISR)中存在错误(如死循环、堆栈溢出等),那么当定时器中断发生时,系统将无法正确执行中断服务程序,从而导致中断无法被正常处理。
mattlincoln 发表于 2024-7-15 16:54 | 显示全部楼层
在GD32单片机中,不同的中断源具有不同的优先级。如果外部中断的优先级被设置得过高,可能会阻塞优先级较低的定时器中断。需要检查并调整中断优先级设置,确保定时器中断的优先级足够高,以使其能够正常响应。
updownq 发表于 2024-7-16 14:19 | 显示全部楼层
检查NVIC 配置,确保定时器中断的使能位没有被意外清除。
saservice 发表于 2024-7-16 17:25 | 显示全部楼层
检查定时器的中断标志位是否被正确清除。如果中断标志位没有被清除,定时器可能会认为中断已经被处理,从而不会再次触发中断。
youtome 发表于 2024-7-16 20:32 | 显示全部楼层
当一个中断正在执行时,若另一个更高优先级的中断到来,当前中断会被挂起,去处理更高优先级的中断。但是,如果在外部中断服务程序中没有及时清除中断标志或使能更低优先级的中断,可能导致定时器中断被持续挂起。
jtracy3 发表于 2024-7-17 09:16 | 显示全部楼层
如果外部中断处理程序中存在错误或长时间占用CPU资源,可能会导致定时器中断无法进入。
averyleigh 发表于 2024-7-17 12:34 | 显示全部楼层
仔细检查中断处理函数的代码,确保没有逻辑错误。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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