TinyOS开发:配置、执行与任务管理全解析
1. 配置与连线
在开发过程中,配置和连线是基础且关键的环节。例如有如下配置代码:
A. StdControl
->
C. StdControl ;
B. SubControl
->
C. StdControl ;
这里涉及到“连线”的概念,但它只是一种隐喻。如果从字面理解多重连线,B到C的连线会与A到B和C的连线相连,形成一条单一的“线”。然而,这样会导致问题,比如B调用C和A调用B会是同一条线,B会进入无限递归循环,因为它调用SubControl,SubControl又调用B.StdControl,如此循环往复。
所以,nesC并不从字面理解这种隐喻,而是将从一个接口到另一个接口的连线分开考虑。以下代码:
A. StdControl
->
B. StdControl ;
A. StdControl
->
C. StdControl ;
B. SubControl
->
C. StdControl ;
使得A对StdControl.start的调用会调用B和C,而B对SubControl.start的调用仅调用C。
2. 组合函数
当出现扇出调用时,会引发一个有趣的问题。例如 call SoftwareInit . init () 实际上调用了十个不同的函数,那么它的返回值是什么呢?nesC提供了组合函
超级会员免费看
订阅专栏 解锁全文
8

被折叠的 条评论
为什么被折叠?



