TinyOS 组件、接口与内存管理详解
1. TinyOS 基本接口
TinyOS 中有两个重要的基本接口:Read 和 Send,它们在数据采集和数据包传输方面发挥着关键作用。
1.1 Read 接口
Read 接口是用于分阶段数据采集的基本 TinyOS 接口。大多数传感器驱动程序都会提供该接口,它是通用的。以下是 Read 接口的定义:
interface Read <val_t > { command error_t read (); event void readDone ( error_t err , val_t val ); }例如,一个生成 16 位值的传感器驱动程序会提供Read<uint16_t>。如果 Read 接口的提供者对read调用返回SUCCESS,那么它会在未来触发readDone事件,并将读取结果作为val参数传递给事件处理程序。
1.2 Send 接口
Send 接口是基本的 TinyOS 数据包传输接口,同样是分阶段操作,但稍微复杂一些,因为它需要传递一个指向要传输数据包的指针。其定义如下:
interface Send { command error_t send ( message_t * msg