程序主要包括3个子文件Blink.nc、BlinkM.nc和SingleTimer.nc。
7.1.7 nesC应用程序的分析
Blink.nc文件
该文件为整个程序的顶层配置文件,关键字为configuration,通过“->”连接各个 对应的接口。
configuration Blink{ } implementation{
7.1.4 模块
简单指令或事件A,由带有存储类型指令或事件的C函数定义的语法实现(注意允许在 函数名中直接定义的扩展)。另外语法关键字必须被包含如果它被包含在A的声明中。
SendMsg类型的提供 接口Send的模块:
Command result_t Send.send(unit16_t address, unit8_t length, TOS_MsgPtr msg){
图7-1 TinyOS程序结构框图
基于以上分析,一个节点上应用程序的框图。操作系统只是在后台提供队列服务。
图7-2 应用程序结构框图
7.1.7 nesC应用程序的分析
每个nesC应用程序都是由一个或多个组件通过接口链接起来,并通过ncc/gcc 编译生成一个完整的可执行程序。
以TinyOS软件中的Blink应用程序为例,具体介绍nesC应用程序结构。Blink程 序是一个简单的nesC应用程序。它的主要功能是每隔1 s的时间间隔亮一次,关闭 系统时红灯亮。
每个nesC应用程序都由一个顶级配置所描述,其内容就是将该应用程序所 用到的所有组件连接起来,形成一个有机整体。一个组件是一个*.nc文件。
每个应用程序(app)都有一个称为Main的组件(类似于C的main函数),它调 用其他的组件以实现程序的功能。由一个或多个组件构成或连接而成。