OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4264|回复: 1

求助关于在ucos下使用STM32的硬件中断的困惑

[复制链接]

4

主题

6

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2015-3-30
在线时间
2 小时
发表于 2015-3-30 20:25:04 | 显示全部楼层 |阅读模式
5金钱
学习ucos ii有一周时间了,关于在ucos下使用STM32的中断还是有一些疑惑;
1.我查看资料,也在论坛里看到原子哥说过systick的中断服务函数的优先级是比定时器的中断优先级底的,那如果在ucos下使用定时器输入捕获任务,此时定时器的中断按理是会打断systick的中断服务函数的,是否会影响systick的中断服务函数给ucos提供系统节拍?
2.看到原子哥说到在ucos下使用中断需要加上OSIntEnter()和OSIntExit();我尝试不加这两个,依然中断服务函数正常运行,想知道不加这两个会有什么影响?

最佳答案

查看完整内容[请看2#楼]

1、肯定是会有一点影响的,但是没事的,你的其他中断的服务函数一定要快,不要在中断服务函数里面耗费太多的时间 2、一定要加这两句,OSIntEnter()里面给OSIntNesting加一,用来记录中断嵌套次数,因为在UCOS中有些事是不能在中断中做的,如果OSIntNesting大于0说明还在中断里面,OSIntExit()在退出中断的时候调用,会将OSIntNesting减一,表示中断嵌套次数减一,知道OSIntNesting为0,说明已经没有中断在执行了,另一点,OSIntExi ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-3-30 20:25:05 | 显示全部楼层
1、肯定是会有一点影响的,但是没事的,你的其他中断的服务函数一定要快,不要在中断服务函数里面耗费太多的时间
2、一定要加这两句,OSIntEnter()里面给OSIntNesting加一,用来记录中断嵌套次数,因为在UCOS中有些事是不能在中断中做的,如果OSIntNesting大于0说明还在中断里面,OSIntExit()在退出中断的时候调用,会将OSIntNesting减一,表示中断嵌套次数减一,知道OSIntNesting为0,说明已经没有中断在执行了,另一点,OSIntExit()最重要的一个功能就是调用中断级任务调度器!!!这一点非常重要
开往春天的手扶拖拉机
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-1 14:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表