Blink.nc
发布时间:2012/4/3 0:25:16 访问次数:858
Blink应用程序 24C02RP 的配置源文件Blink.nc:
configuration Blink{
}
implementation t
components Main, BlinkM, SingleTimer, LedsC;
Main.StdControl -> SingleTimer.StdControl;
Main.StdControl -> BlinkM.StdControl;
BlinkM.Timer -> SingleTimer.Timer;
BlinkM.Leds -> LedsC;
关键字configuration表明这是一个配置文件,开头两行声明了该配置名为Blink。配置的实际内容由关键字implementation后面的花括号部分来实现,其中,components所在的一行指定了该配置要引用的组件集合,其余部分将组件使用的接口与提供这些接口的其他组件连接起来。
Blink.nc中提供了对于上层组件的连接(wiring)信息。其中,Main.StdControl被连接到了BlinkM.StdControl,同时,Main.StdControl又被连接到了SingleTimer.StdControl。也就是说,以后对于Main.StdControl的操作将会被重定向到BlinkM.StdControl及SingleTimer.StdControl。这里涉及另一个概念是扇出(fan-out),编译器内部会进行一对多的重定向操作,由于宏替换只是一对一的替换,编译器内部已经处理了。
对于StdControl接口的重定向:Main.StdControl.>BlinkM.StdControl和Main.StdControl->SingleTimer.StdControl晟终在BlinkM.nc中得到了解决,SingleTimer.StdControl= TimerC.StdControl= TimerM.StdControl最终在TimerM.nc中得到了解决。
而连接信息里面的BlinkM.Timer的重定向:BlinkM.Timer一>SingleTimer.Timer,SingleTimer.Timer= TimerC.Timer[unique(”Timer")]。这里,SingleTimer组件里面的Timer接口被重定向到了TimerC组件里面的Timer接口。最终,TimerC里面的Timer接口又重定向到了TimerM里面的Timer接口。所以,对于BlinkM.Timer的重定向为BlinkM.Timer一>SingleTimer.Timer,TimerC.Timer= TimerM.Timer,最终在TimerM.nc里面得到了实现。
configuration Blink{
}
implementation t
components Main, BlinkM, SingleTimer, LedsC;
Main.StdControl -> SingleTimer.StdControl;
Main.StdControl -> BlinkM.StdControl;
BlinkM.Timer -> SingleTimer.Timer;
BlinkM.Leds -> LedsC;
关键字configuration表明这是一个配置文件,开头两行声明了该配置名为Blink。配置的实际内容由关键字implementation后面的花括号部分来实现,其中,components所在的一行指定了该配置要引用的组件集合,其余部分将组件使用的接口与提供这些接口的其他组件连接起来。
Blink.nc中提供了对于上层组件的连接(wiring)信息。其中,Main.StdControl被连接到了BlinkM.StdControl,同时,Main.StdControl又被连接到了SingleTimer.StdControl。也就是说,以后对于Main.StdControl的操作将会被重定向到BlinkM.StdControl及SingleTimer.StdControl。这里涉及另一个概念是扇出(fan-out),编译器内部会进行一对多的重定向操作,由于宏替换只是一对一的替换,编译器内部已经处理了。
对于StdControl接口的重定向:Main.StdControl.>BlinkM.StdControl和Main.StdControl->SingleTimer.StdControl晟终在BlinkM.nc中得到了解决,SingleTimer.StdControl= TimerC.StdControl= TimerM.StdControl最终在TimerM.nc中得到了解决。
而连接信息里面的BlinkM.Timer的重定向:BlinkM.Timer一>SingleTimer.Timer,SingleTimer.Timer= TimerC.Timer[unique(”Timer")]。这里,SingleTimer组件里面的Timer接口被重定向到了TimerC组件里面的Timer接口。最终,TimerC里面的Timer接口又重定向到了TimerM里面的Timer接口。所以,对于BlinkM.Timer的重定向为BlinkM.Timer一>SingleTimer.Timer,TimerC.Timer= TimerM.Timer,最终在TimerM.nc里面得到了实现。
Blink应用程序 24C02RP 的配置源文件Blink.nc:
configuration Blink{
}
implementation t
components Main, BlinkM, SingleTimer, LedsC;
Main.StdControl -> SingleTimer.StdControl;
Main.StdControl -> BlinkM.StdControl;
BlinkM.Timer -> SingleTimer.Timer;
BlinkM.Leds -> LedsC;
关键字configuration表明这是一个配置文件,开头两行声明了该配置名为Blink。配置的实际内容由关键字implementation后面的花括号部分来实现,其中,components所在的一行指定了该配置要引用的组件集合,其余部分将组件使用的接口与提供这些接口的其他组件连接起来。
Blink.nc中提供了对于上层组件的连接(wiring)信息。其中,Main.StdControl被连接到了BlinkM.StdControl,同时,Main.StdControl又被连接到了SingleTimer.StdControl。也就是说,以后对于Main.StdControl的操作将会被重定向到BlinkM.StdControl及SingleTimer.StdControl。这里涉及另一个概念是扇出(fan-out),编译器内部会进行一对多的重定向操作,由于宏替换只是一对一的替换,编译器内部已经处理了。
对于StdControl接口的重定向:Main.StdControl.>BlinkM.StdControl和Main.StdControl->SingleTimer.StdControl晟终在BlinkM.nc中得到了解决,SingleTimer.StdControl= TimerC.StdControl= TimerM.StdControl最终在TimerM.nc中得到了解决。
而连接信息里面的BlinkM.Timer的重定向:BlinkM.Timer一>SingleTimer.Timer,SingleTimer.Timer= TimerC.Timer[unique(”Timer")]。这里,SingleTimer组件里面的Timer接口被重定向到了TimerC组件里面的Timer接口。最终,TimerC里面的Timer接口又重定向到了TimerM里面的Timer接口。所以,对于BlinkM.Timer的重定向为BlinkM.Timer一>SingleTimer.Timer,TimerC.Timer= TimerM.Timer,最终在TimerM.nc里面得到了实现。
configuration Blink{
}
implementation t
components Main, BlinkM, SingleTimer, LedsC;
Main.StdControl -> SingleTimer.StdControl;
Main.StdControl -> BlinkM.StdControl;
BlinkM.Timer -> SingleTimer.Timer;
BlinkM.Leds -> LedsC;
关键字configuration表明这是一个配置文件,开头两行声明了该配置名为Blink。配置的实际内容由关键字implementation后面的花括号部分来实现,其中,components所在的一行指定了该配置要引用的组件集合,其余部分将组件使用的接口与提供这些接口的其他组件连接起来。
Blink.nc中提供了对于上层组件的连接(wiring)信息。其中,Main.StdControl被连接到了BlinkM.StdControl,同时,Main.StdControl又被连接到了SingleTimer.StdControl。也就是说,以后对于Main.StdControl的操作将会被重定向到BlinkM.StdControl及SingleTimer.StdControl。这里涉及另一个概念是扇出(fan-out),编译器内部会进行一对多的重定向操作,由于宏替换只是一对一的替换,编译器内部已经处理了。
对于StdControl接口的重定向:Main.StdControl.>BlinkM.StdControl和Main.StdControl->SingleTimer.StdControl晟终在BlinkM.nc中得到了解决,SingleTimer.StdControl= TimerC.StdControl= TimerM.StdControl最终在TimerM.nc中得到了解决。
而连接信息里面的BlinkM.Timer的重定向:BlinkM.Timer一>SingleTimer.Timer,SingleTimer.Timer= TimerC.Timer[unique(”Timer")]。这里,SingleTimer组件里面的Timer接口被重定向到了TimerC组件里面的Timer接口。最终,TimerC里面的Timer接口又重定向到了TimerM里面的Timer接口。所以,对于BlinkM.Timer的重定向为BlinkM.Timer一>SingleTimer.Timer,TimerC.Timer= TimerM.Timer,最终在TimerM.nc里面得到了实现。
上一篇:TinyOS 2,0的安装与调试
上一篇:MantisOS操作系统