📄 twonodecommm.nc
字号:
includes AM;
module TwoNodeCommM{
provides interface StdControl;
uses{
interface ProcessData;
interface StdControl as CommControl;
interface SendMsg;
interface ReceiveMsg;
interface Timer;
}
}
implementation
{
TOS_Msg buff;
TOS_MsgPtr msg;
task void FirstMsg(){
uint16_t data=0;
msg = &buff;
msg->addr=TOS_BCAST_ADDR;
msg->type=0;
msg->group=TOS_AM_GROUP ;
msg->length=8;
*((uint16_t *)msg->data)=data;
msg->crc=1;
//msg->strength=
//msg->ack=
//msg->time=
//msg->sendSecurityMode=
//msg->receiveSecurityMode=
call SendMsg.send(TOS_BCAST_ADDR,8,msg);
}
command result_t StdControl.init(){
msg = &buff;
return(call CommControl.init());
}
command result_t StdControl.start(){
result_t ok1,ok2;
ok1 = call CommControl.start();
ok2 = call Timer.start(TIMER_ONE_SHOT,1000);
return rcombine(ok1,ok2);
}
command result_t StdControl.stop(){
result_t ok1,ok2;
ok1 = call CommControl.stop();
ok2 = call Timer.stop();
return rcombine(ok1,ok2);
}
event result_t ProcessData.done(TOS_MsgPtr pmsg, result_t status){
msg = pmsg;
call SendMsg.send(TOS_BCAST_ADDR,8,msg);
return SUCCESS;
}
event result_t SendMsg.sendDone(TOS_MsgPtr pmsg,result_t status){
return status;
}
event TOS_MsgPtr ReceiveMsg.receive(TOS_MsgPtr pmsg){
TOS_MsgPtr tmp;
tmp = msg;
msg=pmsg;
call ProcessData.execute(pmsg);
return tmp;
}
event result_t Timer.fired(){
post FirstMsg();
return SUCCESS;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -