CC2538之TinyOS例程实验:1-blink nesC语法

本文通过CC2538上的Blink例程,详细介绍了TinyOS中nesC的语法,包括Makefile、配置文件(BlinkApp.nc)和模块文件(BlinkC.nc)的使用,讲解了components、provides、uses、call、post、task、as、async和signal等关键字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例程目录tinyos-main-release_tinyos_2_1_2\apps\cc2538_Test\blink,包含三个文件:Makefile,BlinkAppC.nc,BlinkC.nc

下面将通过该例程讲解TinyOS nesC的语法:

1,TinyOS的nesC文件分为四种,除了Makefile后缀为.nc文件,Makefile,configuration,module,interface,当然C语言的c,cpp,h文件TinyOS支持,可以去博客看一下TinyOS如何使用C文件

2,关键字介绍: components provides uses call post task as async signal

1,Makefile

COMPONENT=BlinkAppC
CFLAGS += -DUSE_TIMER_HANDLER
include $(MAKERULES)

通过例程视频第八部的讲解,大家应该知道了nesC的基础语法
configuration对应即为BlinkAppC.nc文件
moudle对应为BlinkC.nc文件
Makefile的基础写法
COMPONENT=xx
...
include $(MAKERULES)
COMPONENT(configuration的名称,注意components关键字的区别)
include $(MAKERULES)  指定makerules,MAKERULES是环境变量,可以打开shell 输入:
echo $MAKERULES查看

2,BlinkApp.nc(TinyOS的configration文件)

configuration BlinkAppC{
}
implementation{
  components MainC, BlinkC, LedsC;
  components new TimerMilliC() as Timer0;
  components new TimerMilliC() as Timer1;
  components new TimerMilliC() as Timer2;


  BlinkC -> MainC.Boot;
  BlinkC.Timer0 -> Timer0;
  BlinkC.Timer1 -> Timer1;
  BlinkC.Timer2 -> Timer2;
  BlinkC.Leds -> LedsC;
}
学习configuration的基础语法,当完成编写后对于使用者调用它就是components  BlinkAppC;
configuration的代码结构为 
configuration xxC{
    ... //1区
}
implementation{
    ... //2区
}
*注意xxC的名称应和xx.nc的名称保持一致;
components--只有configration文件和module文件可以作为components,注意和Makefile的COMPONENT的区别
*1区应该编写
provides interface xx;
uses interface xx;
provides
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值