首页 理论教育 物联网操作系统Contiki的系统接口及应用

物联网操作系统Contiki的系统接口及应用

时间:2023-11-20 理论教育 版权反馈
【摘要】:从系统角度看,uIP 协议由三个C 函数组成,uip_init()、uip_input()和uip_periodic()。当周期性定时器触发时,每个TCP 连接调用一次uIP 函数uip_periodic(),把连接序号作为参数传递给函数uip_periodic()。

物联网操作系统Contiki的系统接口及应用

从系统角度看,uIP 协议由三个C 函数组成,uip_init()、uip_input()和uip_periodic()。uip_init()函数用于初始化uIP协议栈,并在系统启动期间调用。当网络设备驱动程序将IP 数据分组读入数据分组缓冲区时,将调用函数uip_input(),并定期调用函数uip_periodic(),通常每秒调用一次,系统负责调用这些uIP函数。

1.设备驱动程序接口

当设备驱动程序在数据分组缓冲区(uip_buf)中写入输入的IP 数据分组时,系统应调用uip_input()函数,该函数将处理数据分组,并在必要时调用应用程序。当uip_input()函数返回时,输出数据分组被写入数据分组缓冲区,输出数据分组的大小保存在全局变量uip_len中,如果uip_len为零,则不发送任何数据分组。

2.周期性定时器接口(www.xing528.com)

周期性定时器用于驱动所有uIP内部定时器事件,例如分组重传。当周期性定时器触发时,每个TCP 连接调用一次uIP 函数uip_periodic(),把连接序号作为参数传递给函数uip_periodic()。

与uip_input()函数类似,当uip_periodic()函数返回时,出站IP 数据分组可以放在数据分组缓存区中。下面的代码调用uip_periodic()函数,并处理出站数据分组。在这段代码中,函数netdev_send()是网络设备驱动程序的一部分,函数将把缓存uip_buf中的内容发送到网络上。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈