jianhua5ok 发表于 2009-12-28 21:48:33

MARK一下,以后好好学习

sws222 发表于 2009-12-28 23:05:52

以后学习

yu_wen 发表于 2009-12-28 23:26:14

mark

lengmo 发表于 2009-12-28 23:45:11

记号

youxin2004 发表于 2009-12-29 09:14:48

顶楼主,加盖一层楼!

myworkmail 发表于 2009-12-29 14:37:57

记号

asdasd 发表于 2009-12-29 14:41:00

mark

hexixiaomao 发表于 2009-12-29 22:32:53

mark

duolunwei 发表于 2009-12-30 09:49:09

mark

html110 发表于 2009-12-30 10:19:22

记号

wangff2531 发表于 2009-12-30 10:28:56

有空慢慢看

xlshaoscu 发表于 2009-12-30 12:00:10

MARK

zhangliang 发表于 2009-12-30 12:32:49

学习.

yihongmeilang 发表于 2009-12-30 12:35:34

好东西学习

qilin3 发表于 2009-12-30 13:41:27

学习了~~

Dream_catcher 发表于 2009-12-30 14:56:59

学习学习

8410430 发表于 2009-12-30 17:30:37

好贴

haeha 发表于 2009-12-30 18:25:03

mark

ilovezeno 发表于 2009-12-30 18:49:06

mark!

bluejay 发表于 2009-12-30 20:30:51

MARK

ringan865 发表于 2009-12-30 21:26:05

mark

twd3621576 发表于 2009-12-30 23:17:18

很好要是有 傻孩子 的调度器功能就更完美了

cinderellah 发表于 2009-12-31 07:39:25

爪~

start00 发表于 2009-12-31 08:47:37

爪爪爪

mydows 发表于 2009-12-31 10:03:34

好!回去好好分析

xiaoniu 发表于 2009-12-31 10:52:07

mark会火

gan1211 发表于 2010-1-2 22:57:31

学习中

dreampet 发表于 2010-1-11 09:30:27

不错,上个月标记了下,今天仔细看完了,再次感谢各位高手哈

175891641 发表于 2010-1-11 10:00:37

定,学习
使用指针和结构体,感觉就是不一样。C语言就上一个档次

411412 发表于 2010-1-11 10:24:17

记号下。

avrdo 发表于 2010-1-11 14:36:05

说实话小弟学艺精,暂时无法理解,先MARK,后细品!

Soul.art 发表于 2010-1-11 15:12:16

mark

7120223 发表于 2010-1-11 16:05:33

好东西哦 但是没看懂

ddaitt999 发表于 2010-1-11 20:54:17

此贴必火

D.lovers 发表于 2010-1-11 23:12:59

mark

likunpeng 发表于 2010-1-11 23:26:29

more 发表于 2010-1-11 23:46:31

先Mark,慢慢学。

beixue 发表于 2010-1-12 09:42:14

mark

logic.pn 发表于 2010-1-12 23:10:25

mark

lou0908 发表于 2010-1-12 23:14:15

MARK一下,谢谢。

jiangping_hbhm 发表于 2010-2-7 23:36:41

MARK

snail0204 发表于 2010-2-8 09:03:26

好帖

ottife 发表于 2010-2-8 11:20:59

mark

MCU678 发表于 2010-2-8 12:26:00

mark

eagle2006 发表于 2010-2-8 15:27:55

有时间得好好学习下

lin2266286 发表于 2010-2-8 16:02:52

暂时无法理解,先MARK,慢慢学。

xczxwy 发表于 2010-2-8 16:25:26

一直都是这么干的,呵呵

waking 发表于 2010-2-8 20:18:08

mark

more 发表于 2010-2-9 02:27:08

mark

C307 发表于 2010-2-9 08:28:18

此贴必火

hy317 发表于 2010-2-9 09:01:05

mark

hongyancl 发表于 2010-2-9 10:00:13

回复【楼主位】xpstudio2003 曹香鹏
-----------------------------------------------------------------------

mark

bkkman 发表于 2010-2-9 11:35:42

mark

jiangping_hbhm 发表于 2010-2-12 13:20:06

mark

armfans 发表于 2010-2-12 18:31:30

mark

hetao7241 发表于 2010-2-12 18:45:18

标记一下。

haeha 发表于 2010-2-12 20:19:05

mark

bj-stm8 发表于 2010-2-12 20:48:29

这个一定要顶,摸索中前进

a___________a 发表于 2010-2-12 21:18:17

mark

DIDADI 发表于 2010-2-12 21:23:41

标记一下,要学习。

Jigsaw 发表于 2010-2-13 00:28:16

一蝶引得万花开

liqu 发表于 2010-2-13 17:19:28

哲学是软件的灵魂。一个好的架构必然可包罗万象,也必然回归哲学,回归自然之道。

ajin505 发表于 2010-2-13 19:04:54

记号一下

bluelool 发表于 2010-2-14 13:43:28

mark

elsonx 发表于 2010-2-14 22:40:04

mark

dujun168 发表于 2010-2-19 23:35:52

先MARK,后细品!

xieguangye 发表于 2010-2-20 10:13:12

谢谢 MARK

C307 发表于 2010-2-20 11:59:37

顶,此贴必火

jjw6806 发表于 2010-2-20 15:36:56

好久没有mark了,我也mark一下

esdart 发表于 2010-2-20 17:22:12

Mark 界面。留着慢慢看。

tom030704 发表于 2010-2-20 18:27:35

好贴!

gxy508 发表于 2010-2-21 14:20:46

mark

bitant 发表于 2010-2-26 12:20:12

学习一下,我也用过状态机循环,不过还有精简。

moon0213 发表于 2010-3-17 10:35:14

mark

ytmkkk1986 发表于 2010-3-17 13:57:54

mark

XQGG 发表于 2010-3-17 14:05:47

biao ji.....

twlkzxy 发表于 2010-3-17 22:45:22

正是我要找的这方面的资料 明天好好看下

win100 发表于 2010-3-17 23:32:26

标记

luweixuan 发表于 2010-3-18 01:00:40

学习

xcodes 发表于 2010-3-18 08:47:03

鉴定一下
截至目前为止

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

Gorgon_Meducer 发表于 2010-3-18 10:04:25

to 【179楼】 xcodes
    还希望你说说想法和意见哈。也许我提供的信息量的确不足。不过讨论的过程中
问题本身才会丰满和具体起来。

orange2348 发表于 2010-3-18 11:19:30

学习

xcodes 发表于 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.InitOperate);                        //运行初始化函数
    if(FlashMode){
      GUI_Flash         = FlashMode;
    }
}


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

----------------------下面是个MenuTop的Demo----------
void MenuTopInit(void)
{
        pMenu=memcpy_P(pMenu,&MenuTop,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;
        }
}

miminzhang 发表于 2010-3-18 12:34:07

顶顶!

xcodes 发表于 2010-3-18 12:38:51

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

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

xjf20072608 发表于 2010-3-18 12:40:17

mark

god-father 发表于 2010-3-18 15:30:57

每次用不同结构做不同产品 总有 路漫漫其修远兮 之感

Gorgon_Meducer 发表于 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 ?

mcu_lover 发表于 2010-3-18 22:49:45

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

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

snaky 发表于 2010-3-19 10:53:30

好贴,mark~~~~~~~~·

guhenggao 发表于 2010-3-19 11:51:01

mark

WOTASOM 发表于 2010-3-20 13:29:29

学习...

pish 发表于 2010-3-20 13:43:47

MARK,,ding..

yangxiaowen 发表于 2010-3-22 20:47:10

mark

hecb999 发表于 2010-3-22 22:12:25

学习

ljt8015 发表于 2010-3-23 09:36:12

mark!~~

xgl_1982 发表于 2010-3-23 09:59:42

好贴留名

xjmlfm1 发表于 2010-3-23 11:08:00

mark

gxy508 发表于 2010-3-23 12:57:35

mark

tota2004 发表于 2010-3-26 13:27:54

正点
页: 1 [2] 3 4 5 6
查看完整版本: 发一个裸机下的界面编写方式.,,不用结构体,,设计简单,思路清晰,没有死循环,,,,使用