接口(Interface)
发布时间:2012/4/2 14:24:27 访问次数:1045
nesC的接口实际上是一系列声明的有SVP-CX32-LF名函数集合,是连接不同组件的纽带。接口具有双向性,是提供者组件和使用者组件之间的多功能交互通道。接口提供者实现了接口的一组功 能函数,称为命令;接口使用者需要实现的一组功能函数,称为事件。对于一个组件而言,
如果它要使用某个接口中的命令,它必须实现这个接口的事件。接口由interface类型定义,
interface语法定义如下:
nesC-file:
includes-listopt interface
interface:
interface identifier { declaration-list }
storage-class-specifier: also one of command event async
声明列表中,每个接口类型都有一个分开的声明范围。声明列表必须由有command或event存储类(storage class)的功能描述组成,否则会发生编译时错误。可选的async关键字指出命令或事件能在一个中断处理程序(interface handler)中执行。
通过包含列表,一个接口可选择的文件包括C文件。下面给出一个简单的接口定义例子:
interface SendMsg
command result_t send(uint16_t address, uint8_t length, TOS_MsgPtr msg);
event result_t sendDone (TOS_MsgPtr msg, result_t success)j}
以上面的定义可以看出,接口SendMsg包括了一个命令send和一个事件sendDone。提供接口SendMsg的组件必须实现send命令,而使用该接口的组件必须实现sendDone事件。
如果它要使用某个接口中的命令,它必须实现这个接口的事件。接口由interface类型定义,
interface语法定义如下:
nesC-file:
includes-listopt interface
interface:
interface identifier { declaration-list }
storage-class-specifier: also one of command event async
声明列表中,每个接口类型都有一个分开的声明范围。声明列表必须由有command或event存储类(storage class)的功能描述组成,否则会发生编译时错误。可选的async关键字指出命令或事件能在一个中断处理程序(interface handler)中执行。
通过包含列表,一个接口可选择的文件包括C文件。下面给出一个简单的接口定义例子:
interface SendMsg
command result_t send(uint16_t address, uint8_t length, TOS_MsgPtr msg);
event result_t sendDone (TOS_MsgPtr msg, result_t success)j}
以上面的定义可以看出,接口SendMsg包括了一个命令send和一个事件sendDone。提供接口SendMsg的组件必须实现send命令,而使用该接口的组件必须实现sendDone事件。
nesC的接口实际上是一系列声明的有SVP-CX32-LF名函数集合,是连接不同组件的纽带。接口具有双向性,是提供者组件和使用者组件之间的多功能交互通道。接口提供者实现了接口的一组功 能函数,称为命令;接口使用者需要实现的一组功能函数,称为事件。对于一个组件而言,
如果它要使用某个接口中的命令,它必须实现这个接口的事件。接口由interface类型定义,
interface语法定义如下:
nesC-file:
includes-listopt interface
interface:
interface identifier { declaration-list }
storage-class-specifier: also one of command event async
声明列表中,每个接口类型都有一个分开的声明范围。声明列表必须由有command或event存储类(storage class)的功能描述组成,否则会发生编译时错误。可选的async关键字指出命令或事件能在一个中断处理程序(interface handler)中执行。
通过包含列表,一个接口可选择的文件包括C文件。下面给出一个简单的接口定义例子:
interface SendMsg
command result_t send(uint16_t address, uint8_t length, TOS_MsgPtr msg);
event result_t sendDone (TOS_MsgPtr msg, result_t success)j}
以上面的定义可以看出,接口SendMsg包括了一个命令send和一个事件sendDone。提供接口SendMsg的组件必须实现send命令,而使用该接口的组件必须实现sendDone事件。
如果它要使用某个接口中的命令,它必须实现这个接口的事件。接口由interface类型定义,
interface语法定义如下:
nesC-file:
includes-listopt interface
interface:
interface identifier { declaration-list }
storage-class-specifier: also one of command event async
声明列表中,每个接口类型都有一个分开的声明范围。声明列表必须由有command或event存储类(storage class)的功能描述组成,否则会发生编译时错误。可选的async关键字指出命令或事件能在一个中断处理程序(interface handler)中执行。
通过包含列表,一个接口可选择的文件包括C文件。下面给出一个简单的接口定义例子:
interface SendMsg
command result_t send(uint16_t address, uint8_t length, TOS_MsgPtr msg);
event result_t sendDone (TOS_MsgPtr msg, result_t success)j}
以上面的定义可以看出,接口SendMsg包括了一个命令send和一个事件sendDone。提供接口SendMsg的组件必须实现send命令,而使用该接口的组件必须实现sendDone事件。
上一篇: nesC语言基础
上一篇:组件(component)
热门点击