-
配套产品详细说明、价格。
-
期待楼主发起ucgui贴。
-
平台 S3C2442 问题:创建GUI_CreateDialogBox()后,在桌面上拖动。如果多拖动几次程序会出现异常。异常为DATA_ABORT. 问题跟踪: 1)拖动创建控件(通过触屏实现)。 2)执行GUI_ALLOC_AllocNoInit... requesting %d, %d avail 00000AB8 0009573C 3)执行_Callback(WM_PAINT)。 4)出现Dabort Exception. 5)跟踪寄存器,LR程序返回寄存器对应OS_Sched()的结束位置。 6)各任务SP未溢出。
补充:异常出现总是在任务切换时。
不知怎么分析?
[ 本帖最后由 flypaul 于 2011-12-21 19:10 编辑 ]
-
你好楼主问题请教: 1)创建GUI_CreateDialogBox()后,在桌面上拖动。如果多拖动几次程序会出现异常。问题点可能在哪? 2)如果是内存问题,我观察动态分配内存空间还有很多空余。 初始化定义 #define GUI_ALLOC_SIZE 240*320*8 (LCD尺寸240*320 16bpps)
[ 本帖最后由 flypaul 于 2011-12-20 19:11 编辑 ]
-
触屏校准程序我已完成,推荐一份参考文档。
[ 本帖最后由 flypaul 于 2011-12-7 17:19 编辑 ]
-
多谢楼主。通过仿真器跟踪,确认已进入OSTimTickHook(),并执行OSTmrSignal. 同时可以跟踪到OSTmr_Task任务中,但不知为什么调用不到TouchTimer_Callback函数?(确认所有OSTmrWheelTbl参数OSTmrFirst,OSTmrEntries均指向空)
补充:
今天重新编译、运行,可以调用到回调函数。未弄明原因。
[ 本帖最后由 flypaul 于 2011-12-7 10:20 编辑 ]
-
你好,楼主
有关OSTmr CallBack 函数一直未执行,找不到原因所在?
条件:
#define OS_TMR_EN 1
#define OS_CPU_HOOKS_EN 1
#define OS_TASK_TMR_STK_SIZE 256
#define OS_TASK_TMR_PRIO 11
#define OS_TIME_TICK_HOOK_EN 1
#define OS_LOWEST_PRIO 63
#define OS_MAX_TASKS 32
定义:
OS_TMR *Q_Touch_Timer;
void TouchTimer_Callback();
调用函数
Q_Touch_Timer = OSTmrCreate(1,1,OS_TMR_OPT_ONE_SHOT,TouchTimer_Callback,0,"TouchTimer",&err); //返回参数正常
OSTmrStart(Q_Touch_Timer,&err); //中断外启动
可以看到OSTmr_Task任务执行,但不知为什么调用不到TouchTimer_Callback函数?
多谢!
-
你好,楼主。麻烦了。
要求:当中断收到一信息,要求延时一段时间再处理。
处理方式:处理中断程序时,启动OSTmrStart();通过回调函数来实现延时处理。
问题:因为在中断程序中,OSIntNesting被置一,调用OSTmrStart函数返回Fail;
无法启动OSTmr 功能。
请问有什么方法能在中断中start软件定时器功能?
-
多谢楼主指教。
进一步确认,中断中因OSIntNesting置位,其不会调用任务调度。
在执行任务时,为避免程序被打断,可以使用OSSchedLock ,关闭任务调度。
-
楼主你好:有关OSFlagPost使用问题?
其一次操作只能对指定的位清零或置一。
比如OSFlagPost(OSFlag,0x7,OS_FLAG_SET,&err);
对bit0,1,2位置同时1;
如果想把bit0,1,2 设为101b,一步完成应该怎么操作?
多谢!
-
楼主你好:OSSemPost程序使用问题请教
目的、方法:
1)自己的中断处理函数中直接调用OSSemPost来置标志位。
2)任务程序中调用OSSemPost来获取相关标志位。
疑问:
如果在中断处理函数中调用OSSemPost,其会执行任务调度。这样中断函数会占用
太多时间,影响其他中断响应。
应怎么去实现更合适,不止影响系统性能?
多谢!
-
请教问题
如果
GUI/Core GUI/Widget
GUI/WM
GUI/Touch
各目录使用不同版本,是否有问题?
如果有问题,会是哪方面?
多谢!
-
请参考附件。对flag有更深了解。
-
学习学习。
-
设计要求:是不是每个任务的执行时间要小于Tick Timer?
-
关注。
-
建议好好看一下OSFlagPend 函数的描述部分,理解OS_FLAGS flags参数,其不同于OSFlagCreate的OS_FLAGS flags;
OSFlagCreate的OS_FLAGS flags 表示flags 当前状态。
OSFlagPend的OS_FLAGS flags 表示要对那些位进行比较。
-
如果创建Sem_F=OSFlagCreate(0,&err)时,第一个参数为1 or 2 or 3,则就会挂起任务1.
-
原因:创建OS_FLAG_GRP时,OSFlagFlags 置0;
执行OSFlagPend(Sem_F,(OS_FLAGS)3,0,0,&err);要求wait_type参数为OS_FLAG_WAIT_CLR_ALL,刚好满足要求。
flags_rdy = (OS_FLAGS)(pgrp->OSFlagFlags & flags);
此时flags_rdy 等于 flags
-
在task1中通过 OSTaskSuspend(START_TASK0_PRIO); 我认为task1的任务优先级应该高于task0. 否则当执行task1时,task0自身已pend.