CntToLedsAndRfm conguration
CntToLedsAndRfm.nc
----------------------------------------------------------
|conguration CntToLedsAndRfm {
|}
|implementation {
| components Main, Counter, IntToLeds, IntToRfm, TimerC;
|
| Main.StdControl -> Counter.StdControl;
| Main.StdControl -> IntToLeds.StdControl;
| Main.StdControl -> IntToRfm.StdControl;
| Main.StdControl -> TimerC.StdControl;
| Counter.Timer -> TimerC.Timer[unique("Timer")];
| IntToLeds <- Counter.IntOutput;
| Counter.IntOutput -> IntToRfm;
|}
----------------------------------------------------------
◆使用模块 Main、Counter、IntToLeds、IntToRfm 和 TimerC
◆在 Main 中初始化 Counter、IntToLeds、IntToRfm 和 TimerC
◆都是标准库
◆Counter 处理 Timer.re()事件
◆IntOutput 接口
◇output() Command:有一个 16 位的参数
◇outputComplete() Event:返回一个 result_t
◆IntToLeds:在 LED 上显示值的低三位
◆IntToRrm:通过 Radio 广播
◆Counter 使用 IntToLeds 和 IntToRfm 的 IntOutput 接口
◆箭头总是由使用者指向提供者
发送消息
◆TinyOS 中的 radio 通信采用 Active Message(AM)模型,网络中的每个包
都有一个 handler ID,接收结点 会触发这个 ID 对应的事件,可以认为这个
ID 是“端口号”,不同的结点可以把不同的事件关联到相同的 handler ID。
◆在消息传递层,成功的通信涉及 5 个方面
◇标明发送数据
◇标明接收结点
◇回收与发送数据相关联的内存
◇缓存接收数据
◇处理消息
IntToRfm conguration
IntToRfm.nc
----------------------------------------------
|conguration IntToRfm