Tinyos tutorial learning tips -- lesson 2

 

# return rcombine(call ADCControl.init(), call Leds.init());

返回两个函数返回值的与值。

 

# 略写(Shorthand)

SenseM.ADC -> Sensor              等价于 SenseM.ADC -> Sensor.ADC  //没有疑问

SenseM.ADControl -> Sensor       等价于 SenseM.ADControl -> Sensor.StdControl

//这是因为Sensor没有ADControl接口,但是有同类型的StdControl接口,nesC编译器能够判断出来这种略写的意思,当然,如果Sensor有两个StdControl类型的接口,就会报错。

 

# 参数化接口

允许一个组件提供一个接口的多个实例,它们以一个编译时刻或运行时刻的参数来索引(其实相当于定义一个数组)。

 

# 参数化接口的索引

本来直接用数字就可以索引,如

provides interface Timer[uint8_t id];

可直接以Timer[1],Timer[2],…来使用这256个接口,nesC为了避免使用不慎导致两个地方用到了相同的一个实例,引入了unique(“Timer”),即nesC编译器保证所有由字符串“Timer”标识的一组实例的索引号互不相同,以避免冲突(当然,与其他字符串的组可能会有冲突)。

 

# 读代码SenseM.nctip

为什么要另外给一个StdControl接口,命名为ADCControl

很简单,为了单独控制ADC的启动、工作和停止。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值