OpenEdv-开源电子网

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

ucosiii中关于函数OSTimeDlyHMSM的问题。

[复制链接]

14

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2017-4-16
在线时间
33 小时
发表于 2017-5-5 13:18:57 | 显示全部楼层 |阅读模式
1金钱
我创建了两个任务,task1,task2,两个任务重,主要的代码如下:
[mw_shl_code=applescript,true]    while (DEF_TRUE) {                                          /* Task body, always written as an infinite loop.       */
       BSP_LED_Off(1u);
       BSP_LED_Off(0u);
       OSTimeDlyHMSM(0u, 0u, 1u, 500u,
                      OS_OPT_TIME_HMSM_STRICT,
                      &err);   
}[/mw_shl_code]

[mw_shl_code=applescript,true] while (DEF_TRUE){
       BSP_LED_On(1u);
       BSP_LED_On(0u);
              OSTimeDlyHMSM(0u, 0u, 1u, 500u,
                      OS_OPT_TIME_HMSM_STRICT,
                      &err);
    }[/mw_shl_code]

发现阿波罗上的DS0和DS1常量,但是我用单步调试,在两个任务的led灯操作的地方设置断点,可以发现程序的确在两个任务之间发生着切换,这是什么原因呢?难道是       OSTimeDlyHMSM(0u, 0u, 1u, 500u,
                      OS_OPT_TIME_HMSM_STRICT,
                      &err); 延时在任务切换过程中出现了什么问题,
如果我适用函数       OSTimeDlyHMSM(0u, 0u, 1u, 500u,
                      OS_OPT_TIME_HMSM_STRICT,
                      &err); 在一个任务中,
[mw_shl_code=applescript,true]    while (DEF_TRUE) {                                          /* Task body, always written as an infinite loop.       */
       BSP_LED_Off(1u);
       BSP_LED_Off(0u);
       OSTimeDlyHMSM(0u, 0u, 1u, 500u,
                      OS_OPT_TIME_HMSM_STRICT,
                      &err);   
       BSP_LED_On(1u);
       BSP_LED_On(0u);
              OSTimeDlyHMSM(0u, 0u, 1u, 500u,
                      OS_OPT_TIME_HMSM_STRICT,
                      &err);
    }[/mw_shl_code]
可以发现DS0和DS1可以交替闪烁。

最佳答案

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

知道问题在哪里了,是我自己逻辑没有搞清楚.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

14

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2017-4-16
在线时间
33 小时
 楼主| 发表于 2017-5-5 13:18:58 | 显示全部楼层
知道问题在哪里了,是我自己逻辑没有搞清楚.
回复

使用道具 举报

14

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2017-4-16
在线时间
33 小时
 楼主| 发表于 2017-5-5 13:20:22 | 显示全部楼层
声明一下,这个ucosiii是我参照原子的移植步骤,移植的,稍微和原子的有点不同,是我哪个地方在移植的时候没有注意到吗?希望得到高手的提示,,,
回复

使用道具 举报

14

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2017-4-16
在线时间
33 小时
 楼主| 发表于 2017-5-5 17:30:48 | 显示全部楼层
我发现是我创建函数的问题,我是在task1任务的函数中创建的task2,我在创建task1之后创建task2,就可以正常的交替闪烁了,具体细节,有待后续深究.
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-18 04:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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