OpenEdv-开源电子网

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

开发板例程-实验55 UCOSII实验3-消息队列、信号量集和软件定时器中OSMboxPend的问题

[复制链接]

13

主题

44

帖子

0

精华

初级会员

Rank: 2

积分
127
金钱
127
注册时间
2013-8-3
在线时间
1 小时
发表于 2013-9-5 21:51:26 | 显示全部楼层 |阅读模式
在本章中,关于void main_task(void *pdata);任务中有如下一段,现摘抄如下
        key=(u32)OSMboxPend(msg_key,10,&err);
        if(key)
        {
            flagsclrt=51;//500ms后清除
            OSFlagPost(flags_key,1<<(key-1),OS_FLAG_SET,&err);
        }
        if(flagsclrt)
        {
            flagsclrt--;
            if(flagsclrt==1)LCD_Fill(140,162,239,162+16,WHITE);
        }

。。。。。。。。
。。。。。。。。略去中间部分
    delay_ms(10);
以上这段是在一个while循环中,蓝色部分标注的是表明这段是每次延时10ms,总共延时50次,所以500ms后,清除,
这里存在一个问题,那就是红色标注的那部分,这块函数中的参数10,表明,这段函数需要timeout在大于10,才能够
进行下面的操作,所以,每次的延时不可能是10ms,我按照程序中设成的2ms的时间片计算, flagsclrt每次减一要用2ms*10+10ms = 30ms
计算,这样每次屏幕清除按键提示显示的时间是30ms*50=1.5s。
为了更容易验证这个说法,我把红色部分标记的10,改为45,这样,屏幕清除按键提示信息的时间是(2 ms*45+10ms)*50=5s,
我发现,实验结果和用秒表测出来的,很相似。。
不知道,这样计算对吗?实验中标记的延时500ms,是不是错了??

        
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-9-5 23:07:18 | 显示全部楼层
回复【楼主位】冰封小凯:
---------------------------------
确实,没考虑ucosii的延时,谢谢楼主指出。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

14

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
144
金钱
144
注册时间
2014-9-3
在线时间
4 小时
发表于 2015-7-11 15:25:21 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
有时候测试,按键按下去,不响应,是不是也是延时导致的?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-7-11 16:27:53 | 显示全部楼层
回复【3楼】101:
---------------------------------
有可能按键没接触好。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

14

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
144
金钱
144
注册时间
2014-9-3
在线时间
4 小时
发表于 2015-7-12 16:36:58 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
别的程序按键都正常,这个按键按下有时蜂鸣器不叫,也没反应!
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-20 06:01

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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