51单片机有一个菜单程序是这样的.把他换到FREESCALE上,要怎么写? typedef struct { uchar KeyStateIndex; //当前状态索引号 uchar KeyDnState; //按下"向下"键时转向的状态索引号 uchar KeyUpState; //按下"向上"键时转向的状态索引号 uchar KeyCrState; //按下"回车"键时转向的状态索引号 void (*CurrentOperate)(); //当前状态应该执行的功能操作 } KbdTabStruct; KbdTabStruct code KeyTab[SIZE_OF_KEYBD_MENU]= { { 0, 0, 0, 1,(*DummyJob)},//顶层 { 1, 2, 0, 3,(*DspUserInfo)},//第二层 { 2, 1, 1, 4,(*DspServiceInfo)}, //第二层 { 3, 0, 0, 1,(*DspVoltInfo)},//第三层>>DspUserInfo的展开 { 4, 0, 0, 1,(*DspCurrInfo)},//第三层>>DspUserInfo的展开
}; //把上面的程序直接考到FREESCALE时,上面使用常数时运行正常,但是使用变量就乱了.. 比如{ 0, 0, i, j,(*DummyJob)},//顶层 i和j 数字不确定,好象读出来的都是改变量的地址.. |