MTK 61D MMI开发相关
目前用StartTimer实现,但是感觉用法有点怪异,而且不好传递参数,希望有高手提供解决方法!
你要传递什么参数,不能用指针变量吗?
starttimer用法没有怪异吧,
大家都是用StartTimer实现的么?感觉上应该有更好的方法。
StartTimer的原型为:
void StartTimer(U16 timerid, U32 delay, FuncPtr funcPtr);
其中并无funcPtr的参数。
StartTimer调用的StartTimerCommon原型为:
static void StartTimerCommon(U16 timerid, U32 delay, oslTimerFuncPtr funcPtr, void* arg, mmi_frm_timer_type_enum timer_type);
其中确实有funcPtr的参数。但是StartTimer中调用方式为:
StartTimerCommon(timerid, delay, (oslTimerFuncPtr)funcPtr, (void*)timerid, TIMER_IS_ALIGNMENT);
funcPtr的参数为(void*)timerid~所以觉得困惑了
MTK的MMI开发方式相对于工控类开发还是有比较大区别的。
什么工控类啊,工控类要怎样开发
我这个菜鸟只有一个方式告诉你,有一个东西叫做全局变量
全局变量当然可以传递要传递参数,全局变量多了程序可读性很差,而且很容易被误修改。这个问题的重点是除了StartTimer方式,还有其它方式实现在MMI中调用我的函数么?
很多函数都不是timer的,不知道你要搞什么。也不知道怎么说,如果你的函数不是事件(按键,触摸屏,中断)驱动的,而你又要跑这个函数,你可以自己建立一个任务,然后在while里面一直跑自己的函数,只是这样的设计,会增加系统的负担,不是好的设计,为什么有timer就是为了减轻负担
建立的任务不需要的时候可以让task sleep,并不会增加系统负担。之所以需要在MMI中运行自定义函数的原因为:有时需要调用一些PLUTOMMI中的函数,这些函数必须在MMI任务中执行,在我自建任务中执行会有些问题。
没什么问题。
小编是模拟执行而已,当然会酱紫用啊!
并不是模拟器中执行,在真机上运行的。
MTK功能机系统功能真弱
