OpenEdv-开源电子网

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

求助大神,mini板UCOSIII软件定时器实验中,if(num==50) 就可以实现500ms执行一次是怎么回事?

[复制链接]

2

主题

6

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2016-12-12
在线时间
5 小时
发表于 2017-1-8 16:41:44 | 显示全部楼层 |阅读模式
1金钱
if(num==50)       //每500msLED0闪烁一次
{
  num = 0;
  LED0 = ~LED0;
  LED1 = ~LED1;
}

最佳答案

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

并不是,就在这条语句的上方有num++, num++; if(num == 50){ num = 0; LED0 = ~LED0; LED1 = ~LED1; } 应该是根据节拍或者执行一条语句用的时间计算出的吧?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2016-12-12
在线时间
5 小时
 楼主| 发表于 2017-1-8 16:41:45 | 显示全部楼层
lss1330 发表于 2017-1-11 10:49
猜测num是一个全局变量,在另一个地方会给它定时+1

并不是,就在这条语句的上方有num++,
                num++;
                if(num == 50){
                        num = 0;
                        LED0 = ~LED0;
                        LED1 = ~LED1;
                }
应该是根据节拍或者执行一条语句用的时间计算出的吧?
回复

使用道具 举报

3

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
179
金钱
179
注册时间
2015-1-24
在线时间
21 小时
发表于 2017-1-11 10:49:35 | 显示全部楼层
猜测num是一个全局变量,在另一个地方会给它定时+1
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2016-12-12
在线时间
5 小时
 楼主| 发表于 2017-1-12 19:47:30 | 显示全部楼层
lss1330 发表于 2017-1-11 10:49
猜测num是一个全局变量,在另一个地方会给它定时+1

啊    弄错了  谢谢!!!
回复

使用道具 举报

3

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
179
金钱
179
注册时间
2015-1-24
在线时间
21 小时
发表于 2017-2-27 17:09:46 | 显示全部楼层
你看今晚的月亮 发表于 2017-1-8 16:41
并不是,就在这条语句的上方有num++,
                num++;
                if(num == 50){

你的系统节拍应该是10ms,所以50   x 10ms就等于500ms
回复

使用道具 举报

23

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2305
金钱
2305
注册时间
2017-7-6
在线时间
280 小时
发表于 2017-11-30 15:59:02 | 显示全部楼层
lss1330 发表于 2017-2-27 17:09
你的系统节拍应该是10ms,所以50   x 10ms就等于500ms

不是系统节拍,是定时器节拍是10MS
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-2 04:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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