0

我在 nesc 中有以下方法/事件。我收到一个错误

event message_t* Receive.receive(message_t* bufPtr,
void* payload, uint8_t len) {
dbg("RadioCountToLedsC", "Received packet of length %hhu.\n", len);
radio_count_msg_t* adammsg = (radio_count_msg_t*) payload;
val =adammsg -> counter;
dbg("RadioCountToLedsC", "The current summation is: %d \n", val);
return bufPtr;
}

在这段代码的第 4 行。该错误具体是:“'*'之前的语法错误。然后它说adammsg在下一行中未声明

谁能告诉我我的错误可能是什么?我已经坚持了一段时间,这让我发疯了。我正在开发 Tinyos 中包含的 RadioCountsToLeds 应用程序。具体来说,我正在尝试注入数据包-将它们发送到节点-然后对存储在数据包中的信息进行计算。

谢谢!

4

1 回答 1

1

在 C(以及 nesC)中,所有的变量声明都必须在函数的开头。所以:

event message_t* Receive.receive(message_t* bufPtr,
void* payload, uint8_t len) {
radio_count_msg_t* adammsg = (radio_count_msg_t*) payload;
dbg("RadioCountToLedsC", "Received packet of length %hhu.\n", len);
val =adammsg -> counter;
dbg("RadioCountToLedsC", "The current summation is: %d \n", val);
return bufPtr;
}
于 2016-06-03T16:17:37.527 回答