最近测试F28m35 m3核以太网通信,使用官方开发套件,使用的是controlSuite中的lwIP例程,例程没有任何修改,直接跑可以跑起来,使用的是动态分配IP地址,但是通过网线将路由器和板子连起来,无法获取到板子的IP,MAC地址设置成功,但是IP地址,网关,子网掩码都没有,怎样才能获取去IP地址同时将数据通过网口发送到PC上
Jeanne Yi:
Dean,你好!
直接用网线连接电脑与开发板时,需要使用静态分配IP地址的方式。但是示例lwIP例程用的是动态分配IP地址的方式,所以不能直接连接。
可以用UIP例程来实现静态IP地址应用。
谢谢!
最近测试F28m35 m3核以太网通信,使用官方开发套件,使用的是controlSuite中的lwIP例程,例程没有任何修改,直接跑可以跑起来,使用的是动态分配IP地址,但是通过网线将路由器和板子连起来,无法获取到板子的IP,MAC地址设置成功,但是IP地址,网关,子网掩码都没有,怎样才能获取去IP地址同时将数据通过网口发送到PC上
Dean Ma:
回复 Jeanne Yi:
Jeanne,非常感谢!
我想利用lwIP例程来进行IP地址的静态分配,开发板作为客户端,PC作为服务器。
使用lwIPInit(MAC, local_ip, local_mask,local_gateway, IPADDR_USE_STATIC);
开发板配置ip:192.168.0.127 gateway: 192.168.0.1 netmask: 255.255.255.0 ,使用网线将开发板和PC直连,
PC端配置 IP:192.168.0.126 gateway: 192.168.0.1 netmask: 255.255.255.0, 通信端口:1026
err_t TcpCli_Connected(void *arg ,struct tcp_pcb *pcb,err_t err)
{
tcp_write(pcb,TCP_TestData,sizeof(TCP_TestData),0);
tcp_close(pcb);
return ERR_OK;
}
void TCP_Client_Init() {
struct tcp_pcb *Clipcb;
struct ip_addr ipaddr;
IP4_ADDR(&ipaddr,192,168,1,126);
Clipcb = tcp_new(); /* 建立通信的TCP 控制块(Clipcb) */
tcp_bind(Clipcb,IP_ADDR_ANY,1026); /* 绑定本地IP 地址和端口号 */
tcp_connect(Clipcb,&ipaddr,1026,TcpCli_Connected);
}
while(1)
{
TCP_Client_Init() ;
Delay(1000000UL);
}
最后PC端无法监听到开发板的连接,断点调试也无法跑到TcpCli_Connected函数中去,while可以循环执行
因为刚接触芯片开发,还有很多地方不懂,还请多指教!!!
最近测试F28m35 m3核以太网通信,使用官方开发套件,使用的是controlSuite中的lwIP例程,例程没有任何修改,直接跑可以跑起来,使用的是动态分配IP地址,但是通过网线将路由器和板子连起来,无法获取到板子的IP,MAC地址设置成功,但是IP地址,网关,子网掩码都没有,怎样才能获取去IP地址同时将数据通过网口发送到PC上
Jeanne Yi:
回复 Dean Ma:
Dean,你好!
其实我在芯片的网络应用方面也是新手,只是有一点经验而已,希望可以帮到你。
按照我的理解,应该是开发板作为服务器端,而PC作为客户端。TI提供的网络应用例程是这样分配的。
谢谢!
最近测试F28m35 m3核以太网通信,使用官方开发套件,使用的是controlSuite中的lwIP例程,例程没有任何修改,直接跑可以跑起来,使用的是动态分配IP地址,但是通过网线将路由器和板子连起来,无法获取到板子的IP,MAC地址设置成功,但是IP地址,网关,子网掩码都没有,怎样才能获取去IP地址同时将数据通过网口发送到PC上
Bo Li9:
回复 Jeanne Yi:
您好!
请问下UIP具体怎么调试呢?初学者现在不会调试,每次执行到这句
// Wait for the previous transmission to be complete. while(HWREGBITW(&g_ulFlags, FLAG_RXPKTPEND) == 1)
程序就死循环了。还有调试是要用浏览器调试还是什么方法,请不吝赐教,谢谢!