2017-03-20 9 views
0

私はNesC langageのbigginerです。私は異なるメッセージを敬う方法を学びたいと思います。私の場合は、hello msgと他のタイプのmsgを受信する必要があります。それは他のNesCで異なるタイプのメッセージを受信する方法

arをハローであれば、私は一瞬

event message_t* Receive.receive(message_t* msg, void* payload, uint8_t len) { 
msg_voisin *voi= (msg_voisin*)payload; 
Hello *omsg = (Hello*)payload; 
printInt8(len); 
printStr("***"); 
report_received(); 

答えて

0

のためにこれをやった受信MSGを指定する方法がわからないイベントを受信し、メッセージの種類にそれを受け取った後にのみ実行されますリスンしており、そのタイプはアプリケーション構成ファイルで指定されています。

だから、あなたの設定ファイルであなたが持っているでしょう:

enum 
{ 
    HELLOMSG = 1, 
    VIOSINMSG = 2, 
} ; 

を、あなたのアプリケーションのファイルにあなたが持っているでしょう:あなたのヘッダーで

components ApplicationNameP as App, ActiveMessageC; 
    components new AMSenderC(HELLOMSG) as HELLOMsgSender; 
    components new AMSenderC(VIOSINMSG) as VIOSINMsgSender; 
    App.RadioSendHello -> HELLOMsgSender; 
    App.RadioReceiveHello -> ActiveMessageC.Receive[HELLOMSG]; 
    App.RadioSendViosin -> VIOSINMsgSender; 
    App.RadioReceiveViosin -> ActiveMessageC.Receive[VIOSINMSG]; 

はあなたが持っているでしょう

uses interface AMSend as RadioSendHello; 
uses interface Receive as RadioReceiveHello; 
uses interface AMSend as RadioSendViosin; 
uses interface Receive as RadioReceiveViosin; 

関連するイベントハンドラを使用して、入ってくるパケットを処理することができます。

関連する問題