硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4128|回复: 3
收起左侧

[μCOS-III] uCOS中如何调用bsp_timer中的软件定时器?

[复制链接]

3

主题

54

回帖

63

积分

初级会员

积分
63
发表于 2015-12-22 15:24:04 | 显示全部楼层 |阅读模式
因为UCOS使用系统的滴答时钟,所以bsp_timer中的软件定时器就不能用了。
我的想法是自己搞了定时器,然后在模仿滴答时钟的写法,也搞几个软件定时器。
或者是直接在启动任务中模仿滴答时钟写法,建立软件定时器。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2015-12-22 15:26:31 | 显示全部楼层
uCOS-II和III本身支持软定时器,有专门的组件,使用起来更方便。
回复

使用道具 举报

3

主题

54

回帖

63

积分

初级会员

积分
63
 楼主| 发表于 2015-12-22 16:15:46 | 显示全部楼层

回 eric2013 的帖子

eric2013:
uCOS-II和III本身支持软定时器,有专门的组件,使用起来更方便。
您说的是os_tmr中的那些函数吧?
假如我要对串口发来的数据进行超时判断,用bsp的软件定时器很容易
但我不知道如何使用os_tmr中的那些函数,
对bsp_esp8266中的WaitResponse来进行超时判断。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2015-12-23 16:07:42 | 显示全部楼层

回 shampoo 的帖子

shampoo:您说的是os_tmr中的那些函数吧?
假如我要对串口发来的数据进行超时判断,用bsp的软件定时器很容易
但我不知道如何使用os_tmr中的那些函数,
对bsp_esp8266中的WaitResponse来进行超时判断。
....... (2015-12-22 16:15) 
有两种方法可以解决,
方法一:
一个是把裸机时的软定时器实现移植到到uCOS上面,将原来在滴答定时器中断中的函数
放在这个钩子函数里面:App_OS_TimeTickHook。

方法二:
可以用uCOS的定时器中单次定时器功能,然后调用查询函数查询是否完成OSTmrStateGet。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-16 06:04 , Processed in 0.154222 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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