OpenEdv-开源电子网

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

软件定时器

[复制链接]

26

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2013-12-22
在线时间
3 小时
发表于 2014-1-1 23:55:14 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-1-2 00:23:38 | 显示全部楼层
图片不要传附件!!!
ucosii的软件定时器,我们的战舰stm32开发板有例程,讲解了的。
软件定时器的“时钟”频率最快就等于ucosii的滴答频率。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

26

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
174
金钱
174
注册时间
2013-12-22
在线时间
3 小时
 楼主| 发表于 2014-1-2 22:19:41 | 显示全部楼层
#define OS_TICKS_PER_SEC       500u   /* Set the number of ticks in one second                        */
UCOSII的节拍=1000/500=2MS;

例子说软件定时器的时钟这受OS_TMR_CFG_TICKS_PER_SEC设置的控制,也就是在UCOSII的时钟节拍上再做了一次“分频”,
软件定时器的最快时钟节拍就等于UCOSII的时钟节拍,
#define OS_TMR_CFG_TICKS_PER_SEC 100u  /*     Rate at which timer management task runs (Hz)            */
那软件定时器的时钟不就是2MS*OS_TMR_CFG_TICKS_PER_SEC=2*100=200MS吗,
tmr1=OSTmrCreate(10,10,OS_TMR_OPT_PERIODIC,(OS_TMR_CALLBACK)tmr1_callback,0,"tmr1",&err); //100ms执行一次
那这个不是应该是200MS*10=2S执行一次吗









回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165353
金钱
165353
注册时间
2010-12-1
在线时间
2108 小时
发表于 2014-1-2 23:12:40 | 显示全部楼层
回复【3楼】28335:
---------------------------------
不是你这么算的
 OS_TMR_CFG_TICKS_PER_SEC,就是指每秒钟软件定时器的计数次数,这里定义100,那么就是100次.
而:OS_TICKS_PER_SEC        定义为500,则是500次.

这样理解,OS_TMR_CFG_TICKS_PER_SEC是OS_TICKS_PER_SEC的5分频.
这么理解才对.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-25 22:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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