|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
看了 北京航空航天出版社出版的《嵌入式系统设计与开发实例详解》一书 对他提供的源程序不理解
每个实验都有一个main.c文件 内容如下:(例)
#include <string.h>
#include "Target\44blib.h"
#include <stdio.h>
#include "ethernet\etherne.h"
/********************************************/
// ARMSYS实验十五:以太网接口应用
// 描述:初始化以太网卡
/********************************************/
void * function[][2]=
{
(void *)ethernet_test, "Ethernet Test ",
0,0
};
void Main(void)
{
char aa,ch1,ch2;
Port_Init();
Uart_Init(0,115200);
Led_Display(0xf);
Delay(0);
Beep(0x1);
Uart_Select(0); //Select UART0//
Uart_Printf("\n\n*************************************************************************");
Beep(0x0);
Uart_Printf("\n* 立泰电子 *");
Uart_Printf("\n* -以太网硬件测试- *");
Uart_Printf("\n* Version 1.11 *");
Uart_Printf("\n* Email:rao_dali@263.net *");
Uart_Printf("\n* UART Config--COM:115.2kbps,8Bit,NP,UART0 *");
Uart_Printf("\n*-------------Begin to Start Ethernet test,OK? (Y/N)--------------------*");
Led_Display(0x0);
aa= Uart_Getch();
if((aa=='Y')||(aa=='y'))
((void (*)(void)) (function[0][0]))();
}
其中最后一句
((void (*)(void)) (function[0][0]))();
是怎么回事?是调用函数ethernet_test()吗?可是我找遍整个工程,就没有找到这个函数的定义啊.
只有头文件ethernet\etherne.h中看到了函数的声明
void ethernet_test(void);
这个实验是做以太网硬件测试,这到底是怎么完成那些测试功能的啊? |
|