搜索
bottom↓
楼主: xpstudio2003

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

  [复制链接]

出0入0汤圆

发表于 2009-12-28 21:48:33 | 显示全部楼层
MARK一下,以后好好学习

出0入0汤圆

发表于 2009-12-28 23:05:52 | 显示全部楼层
以后学习

出100入0汤圆

发表于 2009-12-28 23:26:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-28 23:45:11 | 显示全部楼层
记号

出0入0汤圆

发表于 2009-12-29 09:14:48 | 显示全部楼层
顶楼主,加盖一层楼!

出0入0汤圆

发表于 2009-12-29 14:37:57 | 显示全部楼层
记号

出0入0汤圆

发表于 2009-12-29 14:41:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-29 22:32:53 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-30 09:49:09 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-30 10:19:22 | 显示全部楼层
记号

出0入0汤圆

发表于 2009-12-30 10:28:56 | 显示全部楼层
有空慢慢看

出0入0汤圆

发表于 2009-12-30 12:00:10 | 显示全部楼层
MARK

出0入0汤圆

发表于 2009-12-30 12:32:49 | 显示全部楼层
学习.

出0入0汤圆

发表于 2009-12-30 12:35:34 | 显示全部楼层
好东西  学习

出0入0汤圆

发表于 2009-12-30 13:41:27 | 显示全部楼层
学习了~~

出0入0汤圆

发表于 2009-12-30 14:56:59 | 显示全部楼层
学习学习

出0入0汤圆

发表于 2009-12-30 17:30:37 | 显示全部楼层
好贴

出0入0汤圆

发表于 2009-12-30 18:25:03 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-30 18:49:06 | 显示全部楼层
mark!

出0入0汤圆

发表于 2009-12-30 20:30:51 | 显示全部楼层
MARK

出0入0汤圆

发表于 2009-12-30 21:26:05 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-30 23:17:18 | 显示全部楼层
很好  要是有 傻孩子 的调度器功能就更完美了

出0入0汤圆

发表于 2009-12-31 07:39:25 | 显示全部楼层
爪~

出0入0汤圆

发表于 2009-12-31 08:47:37 | 显示全部楼层
爪爪爪

出0入0汤圆

发表于 2009-12-31 10:03:34 | 显示全部楼层
好!回去好好分析

出0入0汤圆

发表于 2009-12-31 10:52:07 | 显示全部楼层
mark  会火

出0入0汤圆

发表于 2010-1-2 22:57:31 | 显示全部楼层
学习中

出0入147汤圆

发表于 2010-1-11 09:30:27 | 显示全部楼层
不错,上个月标记了下,今天仔细看完了,再次感谢各位高手哈

出0入0汤圆

发表于 2010-1-11 10:00:37 | 显示全部楼层
定,学习
使用指针和结构体,感觉就是不一样。C语言就上一个档次

出0入0汤圆

发表于 2010-1-11 10:24:17 | 显示全部楼层
记号下。

出0入0汤圆

发表于 2010-1-11 14:36:05 | 显示全部楼层
说实话小弟学艺精,暂时无法理解,先MARK,后细品!

出0入0汤圆

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

出0入0汤圆

发表于 2010-1-11 16:05:33 | 显示全部楼层
好东西哦 但是没看懂

出0入0汤圆

发表于 2010-1-11 20:54:17 | 显示全部楼层
此贴必火

出0入4汤圆

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

出0入0汤圆

发表于 2010-1-11 23:26:29 | 显示全部楼层

出0入0汤圆

发表于 2010-1-11 23:46:31 | 显示全部楼层
先Mark,慢慢学。

出0入0汤圆

发表于 2010-1-12 09:42:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-12 23:10:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-12 23:14:15 | 显示全部楼层
MARK一下,谢谢。

出0入0汤圆

发表于 2010-2-7 23:36:41 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-2-8 09:03:26 | 显示全部楼层
好帖

出0入0汤圆

发表于 2010-2-8 11:20:59 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-8 12:26:00 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-8 15:27:55 | 显示全部楼层
有时间得好好学习下

出0入0汤圆

发表于 2010-2-8 16:02:52 | 显示全部楼层
暂时无法理解,先MARK,慢慢学。

出0入0汤圆

发表于 2010-2-8 16:25:26 | 显示全部楼层
一直都是这么干的,呵呵

出0入0汤圆

发表于 2010-2-8 20:18:08 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-9 02:27:08 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-9 08:28:18 | 显示全部楼层
此贴必火

出0入0汤圆

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

出0入0汤圆

发表于 2010-2-9 10:00:13 | 显示全部楼层
回复【楼主位】xpstudio2003 曹香鹏
-----------------------------------------------------------------------

mark

出0入0汤圆

发表于 2010-2-9 11:35:42 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-12 13:20:06 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-12 18:31:30 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-12 18:45:18 | 显示全部楼层
标记一下。

出0入0汤圆

发表于 2010-2-12 20:19:05 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-12 20:48:29 | 显示全部楼层
这个一定要顶,摸索中前进

出0入0汤圆

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

出0入0汤圆

发表于 2010-2-12 21:23:41 | 显示全部楼层
标记一下,要学习。

出0入0汤圆

发表于 2010-2-13 00:28:16 | 显示全部楼层
一蝶引得万花开

出0入0汤圆

发表于 2010-2-13 17:19:28 | 显示全部楼层
哲学是软件的灵魂。一个好的架构必然可包罗万象,也必然回归哲学,回归自然之道。

出0入0汤圆

发表于 2010-2-13 19:04:54 | 显示全部楼层
记号一下

出0入0汤圆

发表于 2010-2-14 13:43:28 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-14 22:40:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-19 23:35:52 | 显示全部楼层
先MARK,后细品!

出0入0汤圆

发表于 2010-2-20 10:13:12 | 显示全部楼层
谢谢 MARK

出0入0汤圆

发表于 2010-2-20 11:59:37 | 显示全部楼层
顶,此贴必火

出0入0汤圆

发表于 2010-2-20 15:36:56 | 显示全部楼层
好久没有mark了,我也mark一下

出0入0汤圆

发表于 2010-2-20 17:22:12 | 显示全部楼层
Mark 界面。留着慢慢看。

出0入0汤圆

发表于 2010-2-20 18:27:35 | 显示全部楼层
好贴!

出0入0汤圆

发表于 2010-2-21 14:20:46 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-26 12:20:12 | 显示全部楼层
学习一下,我也用过状态机循环,不过还有精简。

出0入0汤圆

发表于 2010-3-17 10:35:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-17 13:57:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-17 14:05:47 | 显示全部楼层
biao ji.....

出0入0汤圆

发表于 2010-3-17 22:45:22 | 显示全部楼层
正是我要找的这方面的资料 明天好好看下

出0入0汤圆

发表于 2010-3-17 23:32:26 | 显示全部楼层
标记

出65入0汤圆

发表于 2010-3-18 01:00:40 | 显示全部楼层
学习

出0入0汤圆

发表于 2010-3-18 08:47:03 | 显示全部楼层
鉴定一下
截至目前为止

楼主的菜单属于最基本类型的
9楼jim166783 的比楼主位高了个等级
22楼liuweiele  25楼 Si_Bin 属于 牛逼之人
9楼跟 22楼25楼 没什么距离
不对30楼山孩子的代码做任何评论
57楼avr-arm 光芒嵌入式
的代码索引机制,处理的有点麻烦,仍有改进的余地
61楼 erxun 老孟的那么多if,不看好

出0入296汤圆

发表于 2010-3-18 10:04:25 | 显示全部楼层
to 【179楼】 xcodes
    还希望你说说想法和意见哈。也许我提供的信息量的确不足。不过讨论的过程中
问题本身才会丰满和具体起来。

出0入0汤圆

发表于 2010-3-18 11:19:30 | 显示全部楼层
学习

出0入0汤圆

发表于 2010-3-18 12:22:12 | 显示全部楼层
我的是基本上和《一个占用内存极小的菜单的实现》是一样的
不过是改了下菜单结构
他的原来每级菜单要占用35字节
而我的则为11字节

如下:
typedef struct
{
        uchar MenuIndex;        //当前状态索引 1字节
         void (*InitOperate)(void);//菜单初始化操作  2字节
         void (*KeyUpOperate)(void);        //按Up键时 操作函数 2字节
        void (*KeyDnOperate)(void);        //按Dn键时 操作函数 2字节
        void (*KeyEscOperate)(void);//按BackSpace键时 的操作函数 2字节
        void (*KeyEtrOperate)(void);//按Enter键时转向的 操作函数 //2字节
}MenuStruct;

const MenuFSM[] PROGMEM ={
#ifdef MenuSleep
#define MenuSleepIndex 0
{\
MenuSleepIndex,(*MenuSleepInit),(*MenuSleepUp),\
(*MenuSleepDn),(*MenuSleepEsc),(*MenuSleepEtr)\
},
#endif

#ifdef MenuTop
#define MenuTopIndex        1
{        \
MenuTopIndex,(*MenuTopInit),(*MenuTopUp),        \
(*MenuTopDn),(*MenuTopEsc),(*MenuTopEtr)\
},
#endif
……
}

void JumpToMenu(uchar Index,uchar FlashMode)                                //跳转到菜单
{
        KeyFuncIndex         = Index;                     //jump to Menu index 适用于MenuIndex 有序排列
        PgmFun(KeyTab[KeyFuncIndex].InitOperate);                        //运行初始化函数
    if(FlashMode){
        GUI_Flash         = FlashMode;
    }
}


main()
{
……
switch(KEY){
case UP:
PgmFun(KeyTab[KeyFuncIndex].KeyUpOperate);
break;
case DN:
PgmFun(KeyTab[KeyFuncIndex].KeyDnOperate);
break;
case ESC:
PgmFun(KeyTab[KeyFuncIndex].KeyEscOperate);
break;
case ETR:
PgmFun(KeyTab[KeyFuncIndex].KeyEtrOperate);
break;
default:
break;
}
……
}

----------------------下面是个MenuTop的Demo----------
void MenuTopInit(void)
{
        pMenu=memcpy_P(pMenu,&MenuTop[Language],sizeof(Menu));
        Item=0;
        Where=0;       
        WDT_OFF();
        BackLight_ON();                                                //如果有按键 背光 亮
        AvrXSuspend(&task2Pid);
        AvrXResume(&task4Pid);
}
void MenuTopUp(void)     //Up键
{
        myKeyUp();       
}
void MenuTopDn(void)    //Dn键
{       
        myKeyDn();               
}
void MenuTopEsc(void)       //退出
{
        wdt_enable(WDTO_1S);
        wdt_reset();
        BackLight_OFF();                        //背光 关
        MENU_POP();
}
void MenuTopEtr(void)   //Enter键
{
        MENU_PUSH();                        //备份菜单
        switch(Item+Where)
        {
                case 0x00:
                        JumpToMenu(MenuViewIndex,0x01);
                        break;
                case 0x01:
                        JumpToMenu(MenuSetsIndex,0x01);
                        break;
                case 0x02:
                case 0x03:
                        JumpToMenu(MenuPwdIndex,0x00);
                        break;
                default:
                        break;
        }
}

出0入0汤圆

发表于 2010-3-18 12:34:07 | 显示全部楼层
顶顶!

出0入0汤圆

发表于 2010-3-18 12:38:51 | 显示全部楼层
回复【180楼】Gorgon Meducer 傻孩子
to 【179楼】 xcodes
    还希望你说说想法和意见哈。也许我提供的信息量的确不足。不过讨论的过程中
问题本身才会丰满和具体起来。
-----------------------------------------------------------------------
我之所以评价他们的 是因为我是过来人了
他们的几种方法我都用过了,知道哪种较好

我还没达到你的编程水平 不敢妄谈

出0入0汤圆

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

出50入0汤圆

发表于 2010-3-18 15:30:57 | 显示全部楼层
每次用不同结构做不同产品 总有 路漫漫其修远兮 之感

出0入296汤圆

发表于 2010-3-18 17:56:51 | 显示全部楼层
to 【184楼】 xcodes
    谦虚了……
    其实,关于菜单,我想说说我最近的体会。也许大家和我一样,从
很久以前就开始想找到一种比较好的结构,解决菜单的问题。我本人也
比较喜欢找所谓的“通用框架”。然而,最近我渐渐意识到,很多时候,
当你已经能够熟练运用各种技巧,并根据实际需求便写代码的时候,追
求通用构架,往往让你气喘吁吁而难以自满。因为通用本身就和“嵌入
式”这个大前提相抵触地。
    嵌入式,可以简单的解释为:面向应用需求的最小化裁减。
    结果我们却在找什么菜单或GUI的通用结构……

    也许,自己写的库函数能提高开发的速度。不过,应该意识到,对
自己的库进行分类,面向不同级别的系统,使用不同级别的库才是正确
的。
    很多时候……我发现,写库或者构架……有点傻……特别是看到XX
公司的XX Framework。不由得感叹:
Easy for coding ,but hard to debug
Easy to write a demo, but hard to make a application
So what it is ?

出0入264汤圆

发表于 2010-3-18 22:49:45 | 显示全部楼层
回复【187楼】Gorgon Meducer 傻孩子
to 【184楼】 xcodes  
    谦虚了……
    其实,关于菜单,我想说说我最近的体会。也许大家和我一样,从
很久以前就开始想找到一种比较好的结构,解决菜单的问题。我本人也
比较喜欢找所谓的“通用框架”。然而,最近我渐渐意识到,很多时候,
当你已经能够熟练运用各种技巧,并根据实际需求便写代码的时候,追
求通用构架,往往让你气喘吁吁而难以自满。因为通用本身就和“嵌入
式”这个大前提相抵触地。
    嵌入式,可以简单的解释为:面向应用需求的最小化裁减。
    结果我们却在找什么菜单或GUI的通用结构……
    也许,自己写的库函数能提高开发的速度。不过,应该意识到,对
自己的库进行分类,面向不同级别的系统,使用不同级别的库才是正确
的。
    很多时候……我发现,写库或者构架……有点傻……特别是看到XX
公司的XX Framework。不由得感......
-----------------------------------------------------------------------

目前还处于研究通用框架阶段,傻孩子大侠是过来人。呵呵,有机会,给我们这些菜鸟多普及一下嘛。谢谢了。
傻孩子大侠,感觉你太高深莫测了。

出0入0汤圆

发表于 2010-3-19 10:53:30 | 显示全部楼层
好贴,mark~~~~~~~~·

出0入0汤圆

发表于 2010-3-19 11:51:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-20 13:29:29 | 显示全部楼层
学习...

出0入0汤圆

发表于 2010-3-20 13:43:47 | 显示全部楼层
MARK,,ding..

出0入0汤圆

发表于 2010-3-22 20:47:10 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-22 22:12:25 | 显示全部楼层
学习

出0入0汤圆

发表于 2010-3-23 09:36:12 | 显示全部楼层
mark!~~

出0入0汤圆

发表于 2010-3-23 09:59:42 | 显示全部楼层
好贴留名

出0入0汤圆

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

出0入0汤圆

发表于 2010-3-23 12:57:35 | 显示全部楼层
mark

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-3-29 14:11

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

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