Blink.nc
發布時間:2012/4/3 0:25:16 訪問次數:846
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操作系統