本帖最后由 jssd 于 2017-10-14 20:33 编辑
- void Fun1(void)
- {
- LCD_DrawBox(0,0,127,63,BoxModel_Draw,FillType_NoFill);
- LCD_DisplayStr("test",0,0,FN_ASC8x16,FN_ST12,ALPHA_YES,LCD_Graphic_Draw);
- }
- struct _Page
- {
- void (*pFun)(void);
- };
- struct _Page menuPage[MAX_PAGE_NUM];
- void Init(void)
- {
- menuPage[0].pFun = Fun1;
- }
- void Show(void)
- {
- (menuPage[0].pFun)(); //乱码
- // Fun1(); //正常
- }
复制代码
如上代码中,直接用Fun1();则显示正常,使用(menuPage[0].pFun)();则显示乱码
因道行浅,看不出问题出在哪,故求助,非常感谢!
补充:
还有一点就是
void Fun1(void)
{
LCD_DrawBox(0,0,127,63,BoxModel_Draw,FillType_NoFill);
LCD_DisplayStr("test",0,0,FN_ASC8x16,FN_ST12,ALPHA_YES,LCD_Graphic_Draw);
}
这个函数去掉 LCD_DrawBox(0,0,127,63,BoxModel_Draw,FillType_NoFill);后显示是正常的,加上就不正常,但如果不是这样使用,单独使用又是正常的。证明函数本身没问题
一周热门 更多>