[AVR单片机] AVR实现LCD菜单功能问题

[复制链接]
1980|4
 楼主| 失控的单片机 发表于 2014-8-15 11:25 | 显示全部楼层 |阅读模式
unsigned char key_fun_index = 0 ;
/***********菜单结构************************************/
void (*key_fun)();
typedef struct
{
        unsigned char key_index;
        unsigned char key_enter;
        unsigned char key_return;
        unsigned char key_up;
        unsigned char key_down;
        void (*menu_fun)();
}  state;
/*******一级菜单列表*********/
void state0(void)
{       
}
void state1(void)
{
}
void state2(void)
{
}
void state3(void)
{
}
void state4(void)
{
}
void state5(void)
{
}
state const key_tab[30]=
{
        {0,8,0,7,1,(*state0)},
        {1,1,1,0,2,(*state1)},
        {2,9,2,1,3,(*state2)},
        {3,15,3,2,4,(*state3)},
        {4,21,4,3,5,(*state4)},
        {5,16,5,4,6,(*state5)},//1级菜单
};
void switch_menu(unsigned char key)
{
        switch(key)
        {
                case 0 :
                {
                        key_fun_index = key_tab[key_fun_index].key_enter;这句什么意思啊
                        break;
                }
                case 1 :
                {
                        key_fun_index = key_tab[key_fun_index].key_return;
                        break;
                }
                case 2 :
                {
                        key_fun_index = key_tab[key_fun_index].key_up;
                        break;
                }
                case 3 :
                {
                        key_fun_index = key_tab[key_fun_index].key_down;
                        break;
                }
        }
        key_fun = key_tab[key_fun_index].menu_fun;这句什么意思??
        (*key_fun)();
}
我不懂的地方已经表明了,请前辈们详细的解释一下。。。。。
huangxz 发表于 2014-8-15 13:41 | 显示全部楼层
这个是取得函数指针
ayb_ice 发表于 2014-8-15 16:38 | 显示全部楼层
tey_tab没有定义
ayb_ice 发表于 2014-8-15 16:39 | 显示全部楼层
应该就是个函数指针赋值
qq4988 发表于 2014-8-19 12:55 | 显示全部楼层
应该是第个菜单项对就的功能码。你的程序不全,猜不出来的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

41

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部