嵌入式学习小组
直播中

李翰肃

8年用户 159经验值
私信 关注

在ucos下使用STM32的硬件中断是否会影响systick的中断服务函数给ucos提供系统节拍?

学习ucos ii有一周时间了,关于在ucos下使用STM32的中断还是有一些疑惑;
1.我查看资料,也在论坛里看到原子哥说过systick的中断服务函数的优先级是比定时器的中断优先级底的,那如果在ucos下使用定时器输入捕获任务,此时定时器的中断按理是会打断systick的中断服务函数的,是否会影响systick的中断服务函数给ucos提供系统节拍?
2.看到原子哥说到在ucos下使用中断需要加上OSIntEnter()和OSIntExit();我尝试不加这两个,依然中断服务函数正常运行,想知道不加这两个会有什么影响?

回帖(1)

许伟星

2019-4-9 10:32:54
1、肯定是会有一点影响的,但是没事的,你的其他中断的服务函数一定要快,不要在中断服务函数里面耗费太多的时间
2、一定要加这两句,OSIntEnter()里面给OSIntNesting加一,用来记录中断嵌套次数,因为在UCOS中有些事是不能在中断中做的,如果OSIntNesting大于0说明还在中断里面,OSIntExit()在退出中断的时候调用,会将OSIntNesting减一,表示中断嵌套次数减一,知道OSIntNesting为0,说明已经没有中断在执行了,另一点,OSIntExit()最重要的一个功能就是调用中断级任务调度器!!!这一点非常重要
举报

更多回帖

发帖
×
20
完善资料,
赚取积分