995|1

82

帖子

3

TA的资源

一粒金砂(中级)

楼主
 

KW41Z板卡Thread end device例程代码分析 [复制链接]

主要功能

通过coap来进行数据交互,coap初始化,创建了3个URI,分别是'/led'、'/temp'和'/sink’。

sink用来配置目标地址,默认是in6addr_realmlocal_allthreadnodes,看着像广播地址;

led用来控制板子上的led状态;

temp用来读取温度传感器值;

 

代码调用过程

应用的主要实现

main_task://nwk_ip/app/common/app_init.c
    THR_Init://nwk_ip/app/common/app_thread_init.c
        OSA_TaskCreate():THR_Task

//THR_Task:用于处理来自物理层、ip层、协议层的任务消息,优先级依次降低;

//    内部调用了NWKU_MsgHandler,未找到源码。
    APP_Init://source/end_device_app.c
        THR_StartInstance(mThrInstanceId, pStackCfg[0]) //使用默认参数,参数内容有点长,不列出
        APP_InitCoapDemo()
            COAP_CreateInstance()//无源码
            //初始化创建了3个coap URI,分别是'/led','/temp','/sink',服务端口5683
            //'/led'回调APP_CoapLedCb:
                APP_ProcessLedCmd:
                    //'on'    :App_UpdateStateLeds(gDeviceState_AppLedOn_c)
                    //'off'   :App_UpdateStateLeds(gDeviceState_AppLedOff_c)
                    //'toggle':App_UpdateStateLeds(gDeviceState_AppLedToggle_c)
                    //'flash' :App_UpdateStateLeds(gDeviceState_AppLedFlash_c)

                    //...
                    COAP_Send(gCoapMsgTypeAckSuccessChanged_c)
            //'/temp'回调APP_CoapTempCb:
                //gCoapGET_c:App_GetTempDataString
                //gCoapPOST_c:shell_printf(pData)
            //'/sink'回调APP_CoapSinkCb:
                //'create':设置gCoapDestAddress,用于coap消息的目标地址
                //'release':设置为默认值

 

PHY的数据上报

PD_SendMessage:phy层通过此接口调用PD_MAC_SapHandler发送接收的数据报文;
    PD_MAC_SapHandler:通过Phy_RegisterSapHandlers接口注册,Phy_RegisterSapHandlers未找到调用的地方
 

总结

文章内容不多,主要是coap、thread等都是提供的库,SDK中没有实现的源码,所以只是大概的一个过程,接下去的计划是先找找看有没有NXP协议栈的源码,如果没有就打算以openthread再搭建工程来进行协议栈的学习,然后以openthread的内容进行分享了,这样也可以跟其他厂家芯片(以openthread作为thread协议栈的)进行方便的互联。

此帖出自NXP MCU论坛

最新回复

虽然SDK中没有实现的源码,只是大概的一个过程,分析比较到位了   详情 回复 发表于 2024-2-27 07:37
点赞 关注
 

回复
举报

6828

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

虽然SDK中没有实现的源码,只是大概的一个过程,分析比较到位了

此帖出自NXP MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表