recan
recan
http://yyds.recan-li.cn 【一个专注于嵌入式软件架构设计的新生代农名工】

注册于 8 months ago

回答
433
文章
10
关注者
14

获取所连wifi的ip地址?

是设备本身获取的ip还是路由器的ip?

@Nog 这个方法有点像以前在linux平台下玩多网卡通讯,不知道在RTT上面这个方法好不好使?

代码胜于雄辩,大家都比较好奇看一下你的线程代码。

排查下:
1.电脑的服务器正常开启了吗?比如别的测试工具用客户端模式连接正常吗?
2.使用板子ping一下电脑的ip确保下网络的畅通情况?

KEIL的链接脚本是.sc头文件,而gcc编译环境下是.lds链接脚本文件。

条件编译的处理是在预处理的时候发生的,生成lib库是在 预处理-》编译-》汇编-》AS打包完成的;
理论上,只要你在预处理的时候,这个RT_USING_COMPONENTS_INIT宏开关四被定义的,最终打出来的lib肯定有rt_components_board_init这行函数的调用。

4.0.1升级到4.0.4,应该不算是大版本升级,新版本整个替换试试看。
目前没有看到有相关版本升级的指导文档。

编译出错的关键log信息是啥?把原始的报错信息贴出来?

宁外这些函数定义在那个文件,我找不到函数原形;

-> 你下面列出来的不就是这些函数的原型吗?😂

定义执行测试函数:

static uint8_t g_test_running = 1;
void test_button()
{
    while(g_test_running)
    {
        printf("%d\n", read_button());
        rt_mdelay(10);
    }
}
MSH_CMD_EXPORT(test_button, test_button);

定义退出测试函数:

void test_button_exit()
{
    g_test_running = 0;
}
MSH_CMD_EXPORT(test_button_exit, test_button_exit);

简单实现,试试看?

目前看到的FINSH的实现是一个常驻的线程,不会退出的:

image.png

image.png

可以考虑自己实现一个logout命令,里面设置一个标记位,finsh_thread_entry线程判断标记位,
决定是否退出FINSH。

我记得在这里问题帖子上有人提过
这个 应该限定在内核中使用rt_前缀的,其他都用标准的就好了。
可以参考下。
image.png

应该头文件未包含,加入头文件试试看:

#include   <sys/errno.h>  //对应Exxx之类的宏定义
#include <sys/ioctl.h> //对应FIONBIO

参考下:头文件包含

CoAP工作在应用层,而IPv4、IPv6在网络层,理论上他们没有必然的联系,
中间还隔着传输层呢(CoAP协议默认是基于UDP协议)。
image.png

回到
顶部

发布
问题

投诉
建议