OpenEdv-开源电子网

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

OSTimeDly()和delay_ms有什么区别

[复制链接]

27

主题

132

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
327
金钱
327
注册时间
2018-7-20
在线时间
117 小时
发表于 2018-8-28 17:02:06 | 显示全部楼层 |阅读模式
3金钱
[mw_shl_code=c,true]          printf("时间:%d, TaskQSen创建消息队列成功\n",OSTimeGet());
      for (i=0;i<=254;i++)
                 mymessage=i;
      mymessage[255]=i;
          while(1)
          {
OSTimeDly(100);/*延时1秒*/
                  
          printf("时间:%d,任务TTaskQSen准备发消息,消息为%d\n",OSTimeGet(),mymessage[scount]);
                  err=OSQPost(myQ,&mymessage[scount]); /*发消息*/
                  switch (err) {
                                case OS_ERR_Q_FULL:
                    printf("时间:%d,任务TTaskQSen发消息失败,消息队列已满\n",OSTimeGet());
                                        break;
                case OS_ERR_NONE:
                    printf("时间:%d,任务TTaskQSen发消息成功\n",OSTimeGet());
                                        break;[/mw_shl_code]
执行代码到注释部分的OSTimeDly(100)程序就死掉了,这是为什么,这个只是测试消息队列,同样的程序我任务里面写信号量或者其他的这个延时就没问题,这是为什么啊

我只喜欢喜欢我的人
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2018-8-29 01:26:14 | 显示全部楼层
整个简单点的例程,试试OSTimeDly函数。我们例程应该可以才对。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-23 04:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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