我的项目基于 MQTTclient 示例。
在启动时、我希望读取 GPIO 引脚以确定这是器件 A 还是器件 B、然后根据将 IP 地址设置为192.168.1.10或192.168.1.20的器件而定
我在 main_tirtos.c 中读取 GPIO 时没有问题,但在调用 ti_ndk_config_Global_startupFxn ()之前,我不知道如何设置静态 IP
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我的项目基于 MQTTclient 示例。
在启动时、我希望读取 GPIO 引脚以确定这是器件 A 还是器件 B、然后根据将 IP 地址设置为192.168.1.10或192.168.1.20的器件而定
我在 main_tirtos.c 中读取 GPIO 时没有问题,但在调用 ti_ndk_config_Global_startupFxn ()之前,我不知道如何设置静态 IP
你(们)好
这些票据可能会为您提供一些帮助。
您好!
类似的东西对我来说适用于 TI RTOS 项目:
首先、在配置 GUI 中、将 NKD 接口、IP 选项、地址设置从 DHCP 更改为 "Do not Configure an IP Address"。
在 NDK 堆栈、用户回调中、为 网络启动回调 ="netStartHook"添加另一个回调函数;
保持 networkIPAddrHook ="netIPAddrHook"不变。
添加新的回调函数。 我从配置文件中的值设置 IP 地址:-
/**回叫以启动网络。
*
*将本地 IP 地址设置为配置数据中的值。
*
*@注意当正确设置 IP 地址时,将调用回调 netIPAddrHook()。
*
*
空 netStartHook()
{
display_printf (display、0、0、"网络启动挂钩:");
CI_IPNet NA;
const configValues * const configValues = getconfig();
memset(&N, 0, sizeof(na));
na.ipaddr = inet_addr (configValues->localIPAddr);//所需的 IP 地址
na.ipMask = inet_addr ("255.255.255.0);
NA.NetType = 0;
/*添加新的静态 IP 条目*/
int retval = CfgAddEntry (0、CFGTAG _IPNet、1、0、sizeof (CI_IPNet)、 (unsigned char *)&nA、0);
display_printf (display、0、0、"CfgAddEntry returned %i "、retval);
}
当网络启动时、它会调用设置 IP 地址的新 fn。 这将触发 netIPAddrHook、就像 IP 地址已由 DHCP 设置一样。
它似乎按预期工作
Jim