JSong 发表于 2014-12-23 08:35:03

代码跑飞!大神给瞄一下!感激不尽!

上面代码调用MessageSend()时候第三个参数是传递一个void *类型的值,如图那样传过去就直接over了,已经验证是第三参数的问题,换成0,代码无误,函数原型也给出,请大神给解释一下!谢谢!

JSong 发表于 2014-12-23 08:40:14

大神们,起床解答疑难了!:call:

zjy3411 发表于 2014-12-23 09:14:53

char buf改成 static char buf试试

JSong 发表于 2014-12-23 09:37:05

zjy3411 发表于 2014-12-23 09:14
char buf改成 static char buf试试

刚刚试过,static char buf,传如(void *)buf,还是一样。:dizzy:

zjy3411 发表于 2014-12-23 09:50:50

                                MessageSendLater(&theSink.UART_Task->uart_task, SEND_UART_DATA, 0, D_SEC(1));
直接到这个消息中发送数据(全局变量控制),你想通过消息传数据,最好用参考消息,发送之前动态分配空间,使用完成后free空间。

JSong 发表于 2014-12-23 10:22:27

zjy3411 发表于 2014-12-23 09:50
MessageSendLater(&theSink.UART_Task->uart_task, SEND_UART_DATA, 0, D_SEC(1));
直接到这个消息中 ...

这个函数貌似只添加了一个延时时间吧,有你说的这么强大?

JSong 发表于 2014-12-23 10:24:45

zjy3411 发表于 2014-12-23 09:50
MessageSendLater(&theSink.UART_Task->uart_task, SEND_UART_DATA, 0, D_SEC(1));
直接到这个消息中 ...

能说一下“参考消息”这个概念吗!这个不清楚!

zjy3411 发表于 2014-12-23 11:00:50

{
    MAKE_A2DP_MESSAGE(A2DP_MEDIA_AV_SYNC_DELAY_UPDATED_IND);

    PRINT(("a2dpMediaAvSyncDelayUpdatedInd"));

    message->device_id = findDeviceId(device);
    message->seid = seid;
    message->delay = delay;

    MessageSend(a2dp->clientTask, A2DP_MEDIA_AV_SYNC_DELAY_UPDATED_IND, message);
}看看别人怎样写的

zjy3411 发表于 2014-12-23 11:02:04

task之间传递数据应该没有问题的,你自己找找原因吧

JSong 发表于 2014-12-23 11:24:09

zjy3411 发表于 2014-12-23 11:00
{
    MAKE_A2DP_MESSAGE(A2DP_MEDIA_AV_SYNC_DELAY_UPDATED_IND);



首先感谢您的回答,想问一下message这个变量是工程内部的结构吧,我们能看到吗?
有这个原型吗?给我瞧瞧!
页: [1] 2
查看完整版本: 代码跑飞!大神给瞄一下!感激不尽!