OpenEdv-开源电子网

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

GUI_Delay()怎么用呢?能否替换?

[复制链接]
头像被屏蔽

308

主题

400

帖子

0

精华

禁止访问

积分
1185
金钱
1185
注册时间
2011-7-29
在线时间
10 小时
发表于 2012-8-22 11:47:41 | 显示全部楼层 |阅读模式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

20

主题

562

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
670
金钱
670
注册时间
2012-2-28
在线时间
0 小时
发表于 2012-8-22 12:04:54 | 显示全部楼层
不用加UCOS就可以调用GUI_Delay啊,这两个是独立的,你是不是移植的时候没有专门开一个定时器来设置OS_Times,这个是延时的基础,只有这个数值变化了,才能实现延时
努力,前进。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2012-8-22 13:50:42 | 显示全部楼层
这个帮不到你了,ucGUI我不熟...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

头像被屏蔽

308

主题

400

帖子

0

精华

禁止访问

积分
1185
金钱
1185
注册时间
2011-7-29
在线时间
10 小时
 楼主| 发表于 2012-8-22 15:22:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

20

主题

562

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
670
金钱
670
注册时间
2012-2-28
在线时间
0 小时
发表于 2012-8-23 09:42:24 | 显示全部楼层
我在论坛上发过一个GUI教程的链接,自己找一下吧
努力,前进。
回复 支持 反对

使用道具 举报

4

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2012-8-22
在线时间
0 小时
发表于 2012-8-23 10:00:38 | 显示全部楼层
GUI_Delay(10); 
参数选的太大,建议楼主看一下GUI_Delay的底层定义,这只是一个延时函数。
你将GUI_Delay(10)改为1或2再试试.
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
23
金钱
23
注册时间
2013-8-20
在线时间
0 小时
发表于 2013-8-20 15:31:06 | 显示全部楼层
我也遇到这个问题了,不知道楼主解决没?
回复 支持 反对

使用道具 举报

8

主题

84

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2013-7-13
在线时间
24 小时
发表于 2013-10-6 23:23:33 | 显示全部楼层
回复【5楼】5498折戟沉沙:
我在论坛上发过一个GUI教程的链接,自己找一下吧
---------------------------------
我也遇到这个问题了,不知道楼主解决没?
。。。
回复 支持 反对

使用道具 举报

8

主题

84

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
211
金钱
211
注册时间
2013-7-13
在线时间
24 小时
发表于 2013-10-7 18:48:36 | 显示全部楼层
回复【5楼】5498折戟沉沙:
我在论坛上发过一个GUI教程的链接,自己找一下吧
---------------------------------
回复【2楼】5498折戟沉沙:
不用加UCOS就可以调用GUI_Delay啊,这两个是独立的,你是不是移植的时候没有专门开一个定时器来设置OS_Times,这个是延时的基础,只有这个数值变化了,才能实现延时
---------------------------------
/*
*********************************************************************************************************
*                                                uC/GUI
*                        Universal graphic software for embedded applications
*
*                       (c) Copyright 2002, Micrium Inc., Weston, FL
*                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
*              礐/GUI is protected by international copyright laws. Knowledge of the
*              source code may not be used to write a similar product. This file may
*              only be used in accordance with a license and should not be redistributed
*              in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File     : GUI_X.C
Purpose  : Config / System dependent externals for GUI
---------------------------END-OF-HEADER------------------------------
*/

#include "GUI.h"
#include "GUI_X.h"

/*********************************************************************
*
*       Global data
*/
volatile int OS_TimeMS;

/*********************************************************************
*
*      Timing:
*                 GUI_X_GetTime()
*                 GUI_X_Delay(int)

  Some timing dependent routines require a GetTime
  and delay function. Default time unit (tick), normally is
  1 ms.
*/

int GUI_X_GetTime(void) { 
  return OS_TimeMS; 
}

void GUI_X_Delay(int ms) { 
  int tEnd = OS_TimeMS + ms;
  while ((tEnd - OS_TimeMS) > 0);
}

/*********************************************************************
*
*       GUI_X_Init()
*
* Note:
*     GUI_X_Init() is called from GUI_Init is a possibility to init
*     some hardware which needs to be up and running before the GUI.
*     If not required, leave this routine blank.
*/

void GUI_X_Init(void) {}


/*********************************************************************
*
*       GUI_X_ExecIdle
*
* Note:
*  Called if WM is in idle state
*/

void GUI_X_ExecIdle(void) {}

/*********************************************************************
*
*      Logging: OS dependent

Note:
  Logging is used in higher debug levels only. The typical target
  build does not use logging and does therefor not require any of
  the logging routines below. For a release build without logging
  the routines below may be eliminated to save some space.
  (If the linker is not function aware and eliminates unreferenced
  functions automatically)

*/

void GUI_X_Log     (const char *s) { GUI_USE_PARA(s); }
void GUI_X_Warn    (const char *s) { GUI_USE_PARA(s); }
void GUI_X_ErrorOut(const char *s) { GUI_USE_PARA(s); }


请问是这个没设置好:volatile int OS_TimeMS;导致GUI_Delay();不能用吗?具体要怎么设置?我设置了volatile int OS_TimeMS;但是还是用不了延时GUI_Delay();。
。。。
回复 支持 反对

使用道具 举报

11

主题

127

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
220
金钱
220
注册时间
2013-7-14
在线时间
3 小时
发表于 2013-11-24 13:02:03 | 显示全部楼层
你把GUI_Delay改一下,不用里面的延时用自己的延时函数  
void GUI_Delay(int eriod)     //MODE KJJ
{
  GUI_ASSERT_NO_LOCK();
  while(Period--)
  {
  GUI_Exec();
  delay_ms(1);

}
这是我改的   裸跑GUI可以用!等加ucos时候再改回去
}
因为爱所以爱
回复 支持 反对

使用道具 举报

11

主题

108

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
492
金钱
492
注册时间
2015-3-3
在线时间
114 小时
发表于 2018-12-14 11:50:29 | 显示全部楼层
正确的方法是开启一个定时器,在中断函数里面添加下面的函数
         OS_TimeMS ++;
         if(OS_TimeMS > 0xffffffffffffffff)
         {
           OS_TimeMS = 0;
         }
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2017-6-23
在线时间
3 小时
发表于 2019-12-20 17:32:23 | 显示全部楼层
具体要怎么设置?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-21 10:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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