搜索
bottom↓
楼主: xpstudio2003

发一个裸机下的界面编写方式.,,不用结构体,,设计简单,思路清晰,没有死循环,,,,使用

  [复制链接]

出0入0汤圆

发表于 2010-3-26 17:51:43 | 显示全部楼层
学习了!

出0入0汤圆

发表于 2010-3-29 17:29:26 | 显示全部楼层
强!

出0入0汤圆

发表于 2010-3-29 19:40:36 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-29 19:57:58 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-5 11:01:49 | 显示全部楼层
菜鸟学习中...

出0入0汤圆

发表于 2010-4-10 16:27:28 | 显示全部楼层
浏览全贴~~

出0入0汤圆

发表于 2010-4-10 16:39:11 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-12 11:57:05 | 显示全部楼层
great

出0入0汤圆

发表于 2010-4-12 12:44:35 | 显示全部楼层
好贴,mark 了

出0入0汤圆

发表于 2010-4-17 18:35:37 | 显示全部楼层
学习了,正要到

出0入0汤圆

发表于 2010-4-17 19:18:19 | 显示全部楼层
好东西就是不怕分享!

出0入0汤圆

发表于 2010-5-19 16:23:31 | 显示全部楼层
好东西就是不怕分享!

出0入0汤圆

发表于 2010-5-26 19:44:50 | 显示全部楼层
我也学习学习!

出0入0汤圆

发表于 2010-5-28 20:24:04 | 显示全部楼层
值得顶

出0入264汤圆

发表于 2010-6-21 00:03:51 | 显示全部楼层
界面就是难。

出0入264汤圆

发表于 2010-6-21 00:41:43 | 显示全部楼层
看了很多天了,实在是看不出楼主的这个东西 设计简单,思路清晰。

出0入0汤圆

发表于 2010-6-21 07:49:58 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-21 07:56:17 | 显示全部楼层
学习!

出0入0汤圆

发表于 2010-6-21 08:54:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-6-21 09:22:06 | 显示全部楼层
学习下

出0入0汤圆

发表于 2010-7-15 10:35:43 | 显示全部楼层
Gorgon Meducer 傻孩子
都赞了,一定要仔细精读

出0入0汤圆

发表于 2010-7-15 11:24:40 | 显示全部楼层
mark 一下

出0入0汤圆

发表于 2010-7-15 11:40:14 | 显示全部楼层
mark 一下

出0入0汤圆

发表于 2010-7-15 11:42:28 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-15 11:44:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-15 13:08:31 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-15 14:58:22 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-15 17:46:28 | 显示全部楼层
回复【187楼】Gorgon Meducer 傻孩子

希望大家能接着就此问题讨论,我觉得有些东西还是写通用的驱动比较好,但菜单之类的东西,似乎花太多精力做个通用的结构性价比太低,而且每个项目选用的MCU又不同导致可用资源也不相同,因此未必能方便地移植。

出0入0汤圆

发表于 2010-7-15 19:58:22 | 显示全部楼层
不错。我们一直在用,单片机太慢,搞gui有点吃力,以后考虑换ARM吧

出0入0汤圆

发表于 2010-7-15 20:47:39 | 显示全部楼层
标记一下。

出0入0汤圆

发表于 2010-7-15 20:57:49 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-16 11:29:12 | 显示全部楼层
呵呵,这种模式,就是protothread的原型。

出0入0汤圆

发表于 2010-7-16 12:08:47 | 显示全部楼层
//注: __LINE__ ,是代码行号

unsigned char ThreadExample()
{      
//--------一些准备工作,把这个简记为 __BEGINJOB宏
    static unsigned short lineno=0;
    char YIELD_FLAG = 1;
    switch(lineno) {
    case 0:
//---------------------------------_BEGINJOB--------

//-----------记录这里的位置,并退出,把这块简记为__YIELDCPU宏,表示释放CPU-------   
    YIELD_FLAG = 0;
    lineno = __LINE__; case __LINE__:
    if (YIELD_FLAG ==0) return RUNNING;                       
//----------------------------------------------

    dosomethingA();
   

//-----------记录这里的位置,并退出,把这块简记为__YIELDCPU宏,表示释放CPU-------   
    YIELD_FLAG = 0;
    lineno = __LINE__; case __LINE__:
    if (YIELD_FLAG ==0) return RUNNING;                       
//----------------------------------------------

    dosomethingB();

//-----------记录这里的位置,并退出,把这块简记为__YIELDCPU宏,表示释放CPU-------   
    YIELD_FLAG = 0;
    lineno = __LINE__; case __LINE__:
    if (YIELD_FLAG ==0) return RUNNING;                       
//----------------------------------------------

    dosomethingC();

//------------------结束工作,把这块简记为__ENDJOB-----------
    YIELD_FLAG = 0;
    lineno=0;
    return ENDED;
   }
//------------------__ENDJOB-----------
}



//经过简化后的形态:

unsigned char ThreadExampleA()
{      
  _BEGINJOB;


   __YIELDCPU;

   dosomethingA();

   __YIELDCPU;

   dosomethingB();

   __YIELDCPU;

   dosomethingC();

   
__ENDJOB;
}


void main(){
while(1){
  ThreadExampleA();
  ThreadExampleB();
  ThreadExampleC();
  ThreadExampleD();
}
}

这样,在任务函数里,只要想主动释放CPU控制,就   __YIELDCPU一下即可。  实际上延时函数可以基于__YIELDCPU之上构建,就是增加一些定时器计数的条件而已。

出0入0汤圆

发表于 2010-7-16 12:21:47 | 显示全部楼层
而且主动释放CPU控制的时候,实际上又记忆了释放时所在行,下次进入函数体,又可以从上次释放的地方继续运行。

等于是用行号__LINE__,代替了自己去定义状态机的状态。  

__LINE__行号,就是一种状态。

出0入0汤圆

发表于 2010-7-16 15:12:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-16 15:50:16 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-17 17:45:31 | 显示全部楼层
复杂!!!!!!!!!!

出0入0汤圆

发表于 2010-7-17 19:04:47 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-17 19:38:14 | 显示全部楼层
学习!

出0入0汤圆

发表于 2010-7-17 20:02:49 | 显示全部楼层
好。记下

出0入0汤圆

发表于 2010-7-19 17:40:42 | 显示全部楼层
先mark再说

出0入0汤圆

发表于 2010-7-19 17:55:25 | 显示全部楼层
哈哈。。。好强大!

出0入0汤圆

发表于 2010-7-21 13:20:59 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-22 16:56:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-22 21:28:38 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-7-23 08:25:11 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-3 17:22:50 | 显示全部楼层
不错

出0入0汤圆

发表于 2010-8-3 18:13:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-4 20:49:44 | 显示全部楼层
mark GUI

出0入0汤圆

发表于 2010-8-4 21:26:05 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-5 16:25:54 | 显示全部楼层
顶顶~~!

出0入0汤圆

发表于 2010-8-5 17:57:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-5 18:59:46 | 显示全部楼层

出0入0汤圆

发表于 2010-8-23 14:34:58 | 显示全部楼层
正好用到,标记

出0入0汤圆

发表于 2010-9-4 08:45:29 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-4 09:05:31 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-4 09:17:42 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-22 08:39:23 | 显示全部楼层
记认

出0入0汤圆

发表于 2010-11-22 10:27:56 | 显示全部楼层
jh

出0入0汤圆

发表于 2010-11-22 11:03:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-22 11:13:46 | 显示全部楼层
cool

出0入0汤圆

发表于 2010-11-23 15:06:45 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-11-23 20:43:03 | 显示全部楼层
学习啦

出0入0汤圆

发表于 2010-11-23 21:33:04 | 显示全部楼层
mark!!!!!

出0入0汤圆

发表于 2010-11-23 22:01:23 | 显示全部楼层
标记

出0入0汤圆

发表于 2010-11-23 22:58:42 | 显示全部楼层
楼主的编程风格和我差不多啊。。我也是这样写程序的。。。你和我一样喜欢用switch。。。哈哈。。。

出0入0汤圆

发表于 2010-11-23 23:22:30 | 显示全部楼层
貌似写过~~~

出0入0汤圆

发表于 2010-11-23 23:22:38 | 显示全部楼层
标记

出0入0汤圆

发表于 2010-12-11 17:10:11 | 显示全部楼层
mARK

出0入0汤圆

发表于 2010-12-11 20:16:37 | 显示全部楼层
回复【楼主位】xpstudio2003 山东人在深圳
-----------------------------------------------------------------------

MARK

出0入0汤圆

发表于 2010-12-11 20:18:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-11 21:11:56 | 显示全部楼层
good

出0入0汤圆

发表于 2010-12-11 23:24:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-14 16:33:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-14 20:48:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-16 10:37:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-16 12:34:31 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-16 12:50:48 | 显示全部楼层
回复【楼主位】xpstudio2003 山东人在深圳
-----------------------------------------------------------------------

有空得看看!

出0入0汤圆

发表于 2010-12-16 12:53:48 | 显示全部楼层
回复【4楼】Gorgon Meducer 傻孩子
-----------------------------------------------------------------------


高手啊!值得学习啊!

出0入0汤圆

发表于 2010-12-16 12:59:35 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-17 13:43:18 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-12-17 14:12:52 | 显示全部楼层
吗日寇

出0入0汤圆

发表于 2010-12-17 14:21:19 | 显示全部楼层
装泰鸡,马克思~~~

出0入0汤圆

发表于 2010-12-17 15:47:12 | 显示全部楼层
不错,学习!!!

出0入0汤圆

发表于 2010-12-17 21:03:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-17 21:32:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-12-18 10:43:36 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-1-8 14:02:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-1-9 10:57:39 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-1-9 12:43:17 | 显示全部楼层
mark。学习了

出0入0汤圆

发表于 2011-1-9 21:08:30 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-1-9 22:25:52 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-1-9 22:34:57 | 显示全部楼层
mark  学习

出50入0汤圆

发表于 2011-1-10 16:29:39 | 显示全部楼层
这个要仔细研究一下

出0入0汤圆

发表于 2011-1-10 17:21:31 | 显示全部楼层
mark一下!

出5入8汤圆

发表于 2011-1-10 18:10:32 | 显示全部楼层
Mark

出0入0汤圆

发表于 2011-1-10 20:19:27 | 显示全部楼层
学习了

出0入0汤圆

发表于 2011-1-10 20:36:11 | 显示全部楼层
mark(状态机)

出0入0汤圆

发表于 2011-1-10 20:48:57 | 显示全部楼层
好贴!!

出0入0汤圆

发表于 2011-1-10 21:13:29 | 显示全部楼层
状态机
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 07:45

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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