OpenEdv-开源电子网

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

关于UCOSII中OS_ENTER_CRITICAL()的使用

[复制链接]

39

主题

160

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2014-1-9
在线时间
8 小时
发表于 2014-6-5 21:37:54 | 显示全部楼层 |阅读模式
5金钱
1.我看他的介绍OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL(),应该是关开总中断,就是如果你一段代码执行时不希望被打断就在前后加上这两句,我写任务的时候,每个任务都加上了这两句,这样是不是UCOS就没有实时处理大的功能,只有调度的功能呢?这样好不好,我只是希望每个任务不要被打断,有些被打断了,就不能连起来执行了
2.请问是不是在UCOS中不应该使用delayms()这样的延迟语句呢?我发现使用这种语句有一定概率死机,就是卡在某一个地方不动了程序,可有些任务,比如读18B20的时候,有严格的时序控制,如果使用UCOS的延时函数TimeDly之类的,读18b20有可能不可能按时执行了啊
求解,刚开始看UCOS的资料?

最佳答案

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

1,是的,所以不要到处用这两句代码。 2,ucos有自己的延时函数,OSTimeDly,参数是以ucosii的时钟节拍为单位的。至于死机,你得仿真看看代码了。 读18b20,你得用自己的函数去实现延时,不能用ucosii自带的了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-6-5 21:37:55 | 显示全部楼层
1,是的,所以不要到处用这两句代码。
2,ucos有自己的延时函数,OSTimeDly,参数是以ucosii的时钟节拍为单位的。至于死机,你得仿真看看代码了。
读18b20,你得用自己的函数去实现延时,不能用ucosii自带的了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-6-5 21:37:55 | 显示全部楼层
原子哥的最新的system文件夹在论坛就可以下载得到http://www.openedv.com/posts/list/24459.htm
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-6-6 00:14:16 | 显示全部楼层
提示楼主,如果你用我们的system文件夹,就很容易解决这个问题,我们的最新的system文件夹,支持ucosii。具体请看我们教程。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

39

主题

160

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2014-1-9
在线时间
8 小时
 楼主| 发表于 2014-6-6 09:29:30 | 显示全部楼层
谢谢,我看看。我买JTAG有张光盘,是不是里面有啊?
回复

使用道具 举报

39

主题

160

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
298
金钱
298
注册时间
2014-1-9
在线时间
8 小时
 楼主| 发表于 2014-6-6 15:12:26 | 显示全部楼层
谢谢,已经解决了,但还是有死机的现象,请问一下怎样用KEIL的debug调试UCOS的任务啊,让我可以看到每个任务的变化。


OSStart前面的程序都可以一步一步的运行,可进入OSStrat以后,就不能单步不运行了,请问是不是keil的设置不对啊,无法一步一步调试UCOS的任务
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-6-6 23:11:48 | 显示全部楼层
你在任务里面设置个断点就可以了
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-7 08:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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