在线时间3 小时
UID421408
注册时间2016-5-12
NXP金币0
该用户从未签到
新手上路

- 积分
- 23
- 最后登录
- 2018-12-7
|
单独初始化 其中任何一个 网口都好用;把两个都开,两个都不好用,两个都配置为服务器。大牛给看下有没有遇到过
只开2口程序:(开两个时i从1开始循环)
/* Bind IP address for each interface */
for (i = 2; i <=2; i++)
{
_enet_address address;
uint32_t phy_addr;
// uint32_t sock;
// sock = socket(AF_INET,SOCK_STREAM,0);
phy_addr = i;
if(i==2)
ip_addr = IPADDR(A1,B1,C1,D1);
else
if(i==1)
ip_addr = IPADDR(config1[5],config1[6],config1[7],config1[8]);
ENET_get_mac_address(phy_addr, ip_addr, address);
/* Init ENET device */
error = ipcfg_init_device (phy_addr, address);
if (error != RTCS_OK)
{
printf("IPCFG: Device n.%d init failed. Error = 0x%X\n", i, error);
_task_set_error(MQX_OK);
n_devices--;
i--;
continue;
}
#if RTCSCFG_ENABLE_IP4
ip_data.ip = ip_addr;
ip_data.mask = IPADDR(config1[9],config1[10],config1[11],config1[12]);
// if(i==1)
ip_data.gateway = IPADDR(config1[13],config1[14],config1[15],config1[16]);
/* Bind IPv4 address */
error = ipcfg_bind_staticip (phy_addr, &ip_data);
if (error != RTCS_OK)
{
// printf("\nIPCFG: Failed to bind IP address. Error = 0x%X", error);
_task_block();
}
#endif
}
网口1任务:
void net1_rev_task(uint32_t initial_data)
{
uint32_t listensock,error,length;
uint16_t len;
int32_t value = 256;
sockaddr_in addr,addrin;
//char str[200];
listensock = socket(AF_INET,SOCK_STREAM,0);
addr.sin_addr.s_addr = ip_addr[1];
//addr.sin_addr.s_addr = INADDR_ANY;
addr.sin_family = AF_INET;
addr.sin_port = config1[17];
error = bind(listensock,&addr,sizeof(addr));
error = listen(listensock,5);
while(1)
{任务程序}
}
网口2任务程序:
void net2_rev_task(uint32_t initial_data)
{
uint32_t sock1,listensock1,error1,length1;
uint16_t len1;
int32_t value1 = 256;
sockaddr_in addr1,addrin1;
//char str[1200];
listensock1 = socket(AF_INET,SOCK_STREAM,0);
addr1.sin_addr.s_addr = ip_addr[2];
//addr.sin_addr.s_addr = INADDR_ANY;
addr1.sin_family = AF_INET;
addr1.sin_port = 205;
error1 = bind(listensock1,&addr1,sizeof(addr1));
error1 = listen(listensock1,5);
//setsockopt(listensock,SOL_TCP,OPT_TBSIZE,&value,sizeof(value));
while(1)
{
任务程序
}
}
[img]file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\502708396\QQ\WinTemp\RichOle\PR6258HL{`4P1I2M[N4T79K.png[/img]
最佳答案
请检查是否有MAC地址冲突,MQX默认情况下把MAC都设置成一个固定值
请在community的这个帖子更新
http://community.nxp.com/thread/463226
|
|