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

📄 channelm.nc

📁 tinyos密钥管理组件 用在tinyos仿真里的
💻 NC
字号:


includes PolyOne;

module ChannelM {
	provides {
		interface StdControl;
		interface Channel;
  	}
	uses {
		interface StdControl as RadioControl;
		interface SendMsg;
		interface ReceiveMsg;
	}
}

implementation
{
	TOS_Msg packet;
	uint8_t Msg[29];

	
	command result_t StdControl.init() {
	 	return call RadioControl.init();
	}

	command result_t StdControl.start() {
    		return call RadioControl.start();
  	}

  	command result_t StdControl.stop() {
 		return call RadioControl.stop();
  	}

	command result_t Channel.send(uint16_t node, uint8_t *msgP) {

		packet.addr=node;
		packet.length=29;
		memcpy(packet.data,msgP,packet.length);

		call SendMsg.send(packet.addr,packet.length,&packet);
		return SUCCESS;
	}
	
	event result_t SendMsg.sendDone(TOS_MsgPtr msg, result_t success) 
	{
		if ( msg == &packet)
		{
			signal Channel.sendDone((uint8_t *)msg->data,success);
		}
		return SUCCESS;
	}
	
	
	event TOS_MsgPtr ReceiveMsg.receive(TOS_MsgPtr m) {
		uint8_t *msgP;		

		msgP = (uint8_t *)m->data;

		signal Channel.receive(msgP);

		return m;
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -