OpenEdv-开源电子网

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

mini板移植了ucosii后,ucosii的中断服务程序和stm32的定时器中断服务程序会冲突吗?

[复制链接]

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
发表于 2013-5-30 18:52:06 | 显示全部楼层 |阅读模式
mini板移植了ucosii后,ucosii的中断服务程序和stm32自身的定时器中断服务程序会冲突吗?
这两种中断服务程序在使用时 有什么要注意的地方吗?
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-5-30 20:30:23 | 显示全部楼层
ucosii的时钟节拍函数就是用的stm32自身的中断服务函数啊...
中断是mcu的特性,不是ucosii的特性.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
 楼主| 发表于 2013-5-31 15:46:58 | 显示全部楼层
回复【2楼】 正点原子 :
---------------------------------
//systick中断服务函数,使用ucos时用到
void SysTick_Handler(void)
{      
    OSIntEnter();  //进入中断
    OSTimeTick();       //调用ucos的时钟服务程序              
    OSIntExit();        //触发任务切换软中断
}
红色代码不是相当于ucosii的中断服务程序吗?
我的秒表的计数器变量就是在OSTimeTick();这个函数里自增的。
我的意思是如果我再开启一个通用定时器的中断服务程序,比如:
//定时器2中断服务程序 
void TIM2_IRQHandler(void)
那么它们两者会不会有冲突??
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-5-31 22:16:12 | 显示全部楼层
不会
回复 支持 反对

使用道具 举报

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
 楼主| 发表于 2013-6-1 08:48:26 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
要是那两个中断服务程序同时中断 那怎么办?先执行谁的?
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
回复 支持 反对

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1865
金钱
1865
注册时间
2011-3-29
在线时间
140 小时
发表于 2013-6-1 09:11:38 | 显示全部楼层
回复【5楼】可乐虎:
---------------------------------
看你的优先级设置。优先级高的会先执行,优先级低的进入中断会有一定时间的延迟。所以为了减少延迟时间,中断函数里面只放最重要和必要的代码;所以我之前说在中断里面使用延时函数是不可原谅的。
业余程序玩家。
回复 支持 反对

使用道具 举报

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
 楼主| 发表于 2013-6-1 09:17:35 | 显示全部楼层
回复【6楼】ofourme:
---------------------------------
但stm32的通用定时器 的中断服务程序有优先级吗??或者是说把它们也写成ucosii的任务来处理?不然怎么会有优先级呢? 还有我原来没有用ucosii时的键盘代码是放在stm32的中断服务程序里的,之所以要延时 是出于为了让io口电平稳定,否则按键编码会出错 从而漏键,事实证明给端口赋值后再延时最后读数效果很好!我现在用了ucosii就把键盘写成呃一个任务了!
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
回复 支持 反对

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1865
金钱
1865
注册时间
2011-3-29
在线时间
140 小时
发表于 2013-6-1 09:43:11 | 显示全部楼层
硬件当然也有优先级。看cortex m3手册去。
业余程序玩家。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-6-1 10:12:00 | 显示全部楼层
默认条件下,ucosii使用的systick优先级很低,我测试可以被其他中断打断的.
这种你自己也可以写代码测试.在systick中断里面放一个很长的延时,然后开启其他中断,你会发现其他中断可以打断systick 中断的执行.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-6-1 10:13:57 | 显示全部楼层
其实我也有疑问,这里看数据手册,systick属于内核中断,他们和外部中断的优先级到底如何区分,光看CM3权威指南,systick的中断应该比所有外部中断的优先级要高才对,也就是外部中断不应该能打断systick的执行,事实上却是可以的,所以,不知道哪位有研究具体的关系,可以教一下我们,呵呵.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

86

主题

417

帖子

0

精华

高级会员

Rank: 4

积分
781
金钱
781
注册时间
2013-2-20
在线时间
0 小时
 楼主| 发表于 2013-6-1 11:25:36 | 显示全部楼层
谢谢各位了,看来这还是个疑难杂症呢!我先尽量避免出现这种情况吧
乐于思考,敢于请教;问人不累,诲人不倦!本人CSDN博客:http://blog.csdn.net/dcx1205 学习嵌入式的同学不要错过啊!
回复 支持 反对

使用道具 举报

4

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2014-9-10
在线时间
5 小时
发表于 2014-10-17 11:28:23 | 显示全部楼层
mark下。。。。。。。。。。
回复 支持 反对

使用道具 举报

10

主题

47

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2014-10-14
在线时间
23 小时
发表于 2014-11-18 16:04:47 | 显示全部楼层
mark!!
回复 支持 反对

使用道具 举报

13

主题

206

帖子

1

精华

高级会员

Rank: 4

积分
613
金钱
613
注册时间
2014-10-26
在线时间
32 小时
发表于 2015-7-6 23:59:17 | 显示全部楼层
回复【10楼】正点原子:
---------------------------------
我现在 用emwin+ucosII 里面加入个 定时器中断, LCD直接黑屏,猜想是 systick被打断?  定时器设置100ms,
学习!
回复 支持 反对

使用道具 举报

80

主题

268

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2014-8-11
在线时间
84 小时
发表于 2015-12-8 01:50:54 | 显示全部楼层
回复【6楼】ofourme:
---------------------------------
学习了
我是一只菜鸟,但我会大鹏展翅
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2016-7-22
在线时间
5 小时
发表于 2016-7-22 09:01:25 | 显示全部楼层
ucos如何管理硬件中断向量呢?
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2016-7-22
在线时间
5 小时
发表于 2016-7-22 09:02:09 | 显示全部楼层
用UCOS II时,硬件中断怎么让系统管理?在硬件中断服务函数里时间久了会造成系统崩溃!
回复 支持 反对

使用道具 举报

1

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2016-8-17
在线时间
24 小时
发表于 2016-10-19 09:03:49 | 显示全部楼层
学习了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-24 02:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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