结构体数组在ARM2440经典用法

结构体数组,在定义结构体数组的时候并进行初始化:

例如:

struct student 

{

int num;

char name[20];

char sex;

void (*fun)(void);

}stu[3]={{...},{...},{...}};


结构体数组在ARM2440应用:

struct {
void (*fun)(void);                        //定义一个函数指针,并在结构体数组中对“每个函数指针”成员赋值,让每个成员指向对应的函数
char *tip;

}CmdTip[] = {

{ Temp_function, "Please input 1-11 to select test" } ,

{ BUZZER_PWM_Test, "Test PWM" } ,

{ RTC_Display, "RTC time display" } ,

{ Test_Adc, "Test ADC" } ,

{ KeyScan_Test, "Test interrupt and key scan" } ,

{ Test_Touchpanel, "Test Touchpanel" } ,

{ Lcd_TFT_Test, "Test TFT LCD" } ,

{ Test_Iic, "Test IIC EEPROM" } ,

{ PlayMusicTest, "UDA1341 play music" } ,

{ RecordTest, "UDA1341 record voice" } ,

{ Test_SDI, "Test SD Card" } ,

{ Camera_Test, "Test CMOS Camera"},

{ 0, 0}

};

while(1)

{

U8 idx;

Uart_Printf("\nPlease select function : \n");

for(i=0; CmdTip[i].fun!=0; i++)

Uart_Printf("%d : %s\n", i, CmdTip[i].tip);

idx = Uart_GetIntNum_GJ() ;

if(idx<i)

{

(*CmdTip[idx].fun)();     // 引用每个成员的“函数指针”,执行相应的操作

Delay(20);

Uart_Init( 0,115200 );

}

} 



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值