【摘要】:接口是为某个服务或抽象声明一组相关的函数。接口相关说明后面将会详述。例3.3:在例3.3中,模块PowerupC的规范中包含了2条语句,关键字uses表明接口Boot和接口Leds是两个使用的接口。相对的,配件LedsC提供了一个接口Leds,用于控制3个二极管的抽象。在例3.4中,配件MainC的规范部分提供接口Boot,使用接口Init。当节点启动起来时,MainC通过Boot接口中的事件booted通知其他组件,如模块PowerupC。
大多数情况下,组件需要声明自己提供的服务(或功能)和使用的服务(或功能)。这些通过在组件规范中声明提供接口(provides interface)或使用接口(uses interface)的nesC语句来实现。
●使用关键字provides声明组件提供的接口,表明组件能够提供的服务。
●使用关键字uses声明组件使用的接口,表明组件需要使用的服务。
接口是为某个服务或抽象声明一组相关的函数。例如,为了控制节点上的二极管(LED),定义接口Leds来声明关闭、打开二极管等相关函数;为了通知应用节点已经启动起来,定义接口Boot来声明一个通知函数(booted)。接口相关说明后面将会详述。
例3.3:(www.xing528.com)
在例3.3中,模块PowerupC的规范中包含了2条语句,关键字uses表明接口Boot和接口Leds是两个使用的接口。PowerupC使用Boot接口来接收节点启动的通知事件,使用Leds接口来打开节点的二极管。相对的,配件LedsC提供了一个接口Leds,用于控制3个二极管的抽象。
组件规范中可以既提供接口也使用接口。在例3.4中,配件MainC的规范部分提供接口Boot,使用接口Init。配件MainC实现了节点的启动顺序。节点启动顺序中的一项主要工作是MainC使用Init接口来初始化软件。例如某模块中有一个状态需要在系统启动前进行初始化,那么该模块需要提供Init接口。当节点启动起来时,MainC通过Boot接口中的事件booted通知其他组件,如模块PowerupC。
例3.4:
组件的规范部分可以为空,表明组件是顶层应用配件,如PowerupAppC。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。