⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 twonodecommm.nc

📁 Tinyos下的简单通讯模型
💻 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 + -