Chinaunix首页 | 论坛 | 博客
  • 博客访问: 346317
  • 博文数量: 92
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 960
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-21 19:38
文章分类

全部博文(92)

文章存档

2010年(71)

2009年(21)

我的朋友

分类: 嵌入式

2010-06-15 20:56:44

通过指针数组来调用指针函数

首先定义一个由指针函数组成的指针数组:

void * nand_func[][2]=

{

       (void *)Print_Id,                      "Read ID         ",

       (void *)Nand_Reset,                           "Nand reset      ",

       (void *)Test_Block_Erase,         "Block erase     ",

       (void *)Test_Page_Read,                  "Page read       ",

       (void *)Test_Page_Write,          "Page write      ",

       (void *)PrintBadBlockNum,       "Check Badblock  ",    

       0,

};

 

调用这个指针数组里的函数:

( (void (*)(void)) (nand_func[i][0]) )();

 

实现函数:

void Print_Id(void)

{

       U16 id;

       U8 maker, device;

       id = ReadChipId();

       device = (U8)id;

       maker = (U8)(id>>8);

              Uart_Printf("\nMaker:%x, Device:%x\n", maker, device);

}

 

 

阅读(1647) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~