原来MCU是用51的,现在改为ATmega128L,用CODE VISION AVR编译器时,不认指针变量,在CODE VISION AVR编译器里面,只能指向SRAM存储器中,那下面程序要怎么改才行啊!时间很紧帮帮忙!
typedef struct{
byte KeyStateIndex; //当前状态索引号
byte KeyUpState; //按下"向上"键时转向的状态索引号
byte KeyDnState; //按下"向下"键时转向的状态索引号
byte KeyentState; //按下"确认"键时转向的状态索引号
byte KeyescState; //按下"退出"键时转向的状态索引号
void (*CurrentOperate)(); //当前状态应该执行的功能操作
} KbdTabStruct;
flash KbdTabStruct KeyTab[]={
// |-----------> Index
// | Up
// | | Down
// | | | ent
// | | | | esc --->功能函数
// | | | | | |
{ 0, 1, 2, 3, 4,(*DispMenuTop)},// 待机画面
{ 1, 0, 0, 0, 0,(*DispMenuTopUp)},
{ 2, 0, 0, 0, 0,(*DispMenuTopDown)},
{ 3, 0, 0, 0, 0,(*DispMenuTopent)},
{ 4, 0, 0, 0, 0,(*DispMenuTopesc)},
{ 5, 6, 7, 8, 9,(*DispIcoMenuInit)}, //主菜单
{ 6, 0, 0, 0, 0,(*DispIcoMenuUp)}, //
{ 7, 0, 0, 0, 0,(*DispIcoMenuDown)}, //
{ 8, 0, 0, 0, 0,(*DispIcoMenuent)}, //
{ 9, 0, 0, 0, 0,(*DispIcoMenuesc)},//
……} |