器件型号:DK-TM4C129X
工具/软件:TI-RTOS
您好!
我一直在尝试找到一种方法来在运行时设置网关并获取它以供显示。 我看了各种帖子、但找不到清晰的方法。 到目前为止、我能够设置和获取 IP 和掩码。 我还能够显示 MAC。 我可能已经找到了一种获取网关并显示它的方法、但我不确定。 以下是我的代码。
谢谢
AJ
{
CI_IPNet NA;
句柄 hCfgIpAddr;
write_console_msg ("\n\n\r 设置静态 IP...");
/*设置手册 IP 地址*/
bzero (不适用、sizeof (不适用));
na.ipaddr = inet_addr ("10.20.30.120");
na.ipMask = inet_addr ("255.255.255.0);
strcpy (na.Domain、"demo.net");
NA.NetType = 0;
CfgGetEntry (0、CFGTAG _IPNet、1、1、&hCfgIpAddr);
CfgRemoveEntry (0、hCfgIpAddr);
CfgAddEntry (0、CFGTAG _IPNet、1、0、sizeof (CI_IPNet)、 (uint8 *)不适用、0);
//semaphore_post (web_server_start_semaphore);
}//end void enet_open_hook (void)
/********* /
void enet_ip_add_hook (unsigned int ipaddr、unsigned int IfIdx、unsigned int fAdd)
{
char val_array[10];
字符 IPString[16];
uint8 mac_address[6];
uint16 MTU;
int ret_code;
NIMU_IF_REQ IF_REQ;
CI_IPNet NA;
CI_route RT;
// display_ip_address (ipaddr);
if_req.name[0]= 0;
if_req.index = 1;
RET_CODE = NIMUIoctl (NIMU_GET_DEVICE_MTU、&IF_req、&MTU、sizeof (UINT16));
如果(RET_CODE < 0)
{
write_console_msg ("\n\rGet MTU 失败");
}
RET_CODE = NIMUIoctl (NIMU_GET_DEVICE_MAC、&if_req、&mac_address、sizeof (mac_address));
如果(RET_CODE < 0)
{
write_console_msg ("\n\n\rGet MAC Add Failed");
}
Ulong_TO_ASCII (MTU、val_array);
write_console_msg (val_array);
Ulong_TO_hex_ascii (mac_address[0]、val_array);
write_console_msg (val_array);
write_console_char ('-');
Ulong_TO_hex_ascii (mac_address[1]、val_array);
write_console_msg (val_array);
write_console_char ('-');
Ulong_TO_hex_ascii (mac_address[2]、val_array);
write_console_msg (val_array);
write_console_char ('-');
Ulong_TO_hex_ascii (mac_address[3]、val_array);
write_console_msg (val_array);
write_console_char ('-');
Ulong_TO_hex_ascii (mac_address[4]、val_array);
write_console_msg (val_array);
write_console_char ('-');
Ulong_TO_hex_ascii (mac_address[5]、val_array);
write_console_msg (val_array);
{
//是的,设备已配置,我们获得了 IP 地址/掩码*/
NtIPN2Str (na.ipaddr、IPString);
write_console_msg ("\n\n\rip Address :");
write_console_msg (IPString);
//write_console_msg ("\n\n"r);
NtIPN2Str (na.IPMask、IPString);
write_console_msg ("\n\rip Mask :");
write_console_msg (IPString);
}//结束 IF (CfgGetImmadiate(0)、CFGTAG _IPNet、1、1、sizeof (NA)、 (uint8 *)&nA)=sizeof (nA)
{
//是的,设备已配置,我们获得了 IP 地址/掩码*/
NtIPN2Str (RT.IPGateAddr、IPString);
Write_console_msg ("\n\n\r 网关地址:");
write_console_msg (IPString);
}//结束 IF (CfgGetImmadiate(0)、CFGTAG _IPNet、1、1、sizeof (NA)、 (uint8 *)&nA)=sizeof (nA)
//end void enet_ip_add_hook (void)