问题描述
我尝试使用 contiki-NG 和 firefly 将数据从 A 进程发送到 B 进程。
这是A进程的发送者部分
PROCESS_THREAD(A_process,ev,data)
{
...
int data=1;
if(process_post(&led_example,PROCESS_EVENT_CONTINUE,&data_led)!=PROCESS_ERR_OK){
printf("event Could not be posted\n");
}
...
}
这是B进程的接收者部分
PROCESS_THREAD(B_process,data)
{
...
if(ev==PROCESS_EVENT_CONTINUE ){
printf("data=%d",*(int*)data);
}
...
}
我检查了事件是否交付良好。
但问题是数据。
我希望 B 进程打印 "data=1" 但打印垃圾值 ("data=2118363")。
(我知道 process_data_t
是 void*
(空指针))
我怎样才能获得正确的价值? 谢谢。
解决方法
尝试声明如下:
static int data_led;