ch579如果用IP1地址CH57xNET_SocketCreat后,有服务器模式的使用AppCallBack的socket,和主动发送的socket,dhcp获取到新的IP,如何重新让这些socket在新ip上生效,且不重启设备?是否有什么接口调用先close socket,再重新create,还是直接调用什么接口?谢谢!
您好,可以在DHCP之前先关闭之前开启的socket,在DHCP之后再开启socket。
现在设计是dhcp不确定是否能拿到ip,所以先使用一个固定的ip做了create几个socket,是否可以在dhcp成功后,再close 旧的socket,然后create 新的socket?或者说是否一定要重新create,如果拿到了新ip,socket继续使用旧的是否会导致server模式的收不到包?或者client模式的socket发不出去包?
另外CH57xNET_Init(const UINT8* ip,const UINT8* gwip,const UINT8* mask,const UINT8* macaddr); 启动时用就的ip地址已经初始化过一次,在拿到新的IP地址后是否需要重新用新的ip地址调用一次?
是需要重新创建socket的,因为传输必须保证在相同IP和网关下进行,一旦ip改变,原socket是不起作用的
关于CH57xNET_Init这个函数,在DHCP动态IP之后,不需要第二次初始化
谢谢!
发现一个奇怪的现象,我使用0x3ec00位置存储用户数据,由于使用了蓝牙库,这个位置的值每次开机后总是莫名其妙的被修改了,请问是否这个位置在蓝牙开启时,不能使用?
建议使用0x0003E800至0x0003EBFF这个1K区间的地址,0x0003EC00后面1K都是被蓝牙使用的
好的,那我们改一下。另外想了解一下,现在是否有新的net库,发现CH57xNET_DHCPStart开始后,如果把网线换到另一个网络,时间到了也没有重新发起dhcp请求。请问CH57xNET_DHCPStop和CH57xNET_DHCPStart是否可以频繁调用,例如我发现网口link断了,就调用一次CH57xNET_DHCPStop,网口link恢复了,就调用一次CH57xNET_DHCPStart,循环调用不重启设备,net库是否能正常工作?
您留个邮箱,稍后发个新版的CH579压缩包给您
“请问CH57xNET_DHCPStop和CH57xNET_DHCPStart是否可以频繁调用,例如我发现网口link断了,就调用一次CH57xNET_DHCPStop,网口link恢复了,就调用一次CH57xNET_DHCPStart,循环调用不重启设备,net库是否能正常工作?”
理论上这个是可以的,可以尝试一下,不行的话再联系
个人信息保护,已隐藏
已发送,请查收。
收到,谢谢!我使用CH579ETH-IAP, 一级bootloader很小只有64K,只是用来升级上层应用,请问上层应用含ble的tmos系统是否大小不能超过128K,我发现超过128K就很容易系统卡死。
“请问上层应用含ble的tmos系统是否大小不能超过128K”
这个是没有硬性规定的,只要内存允许,多大都是可以的,可能是你那边ETH+BLE内存用超了导致的卡死